mirror of
https://github.com/meowarex/rl-mobile.git
synced 2026-10-14 23:43:12 +11:00
109 files changed
+15101
-1417
No files matched your search
@@ -32,7 +32,7 @@ android {
|
|||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 68
|
versionCode = 68
|
||||||
versionName = "1.1.6"
|
versionName = "1.1.7"
|
||||||
|
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
|
|||||||
@@ -422,6 +422,142 @@
|
|||||||
"description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.",
|
"description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "SwipeToQueue",
|
||||||
|
"order": 39,
|
||||||
|
"fileNames": [
|
||||||
|
"swipe-to-queue.patch",
|
||||||
|
"swipe-to-queue-compose.patch"
|
||||||
|
],
|
||||||
|
"extensionFiles": [
|
||||||
|
"radiant/gestures/queue/SwipeToQueue.smali",
|
||||||
|
"radiant/gestures/queue/QueueSwipeRemove.smali",
|
||||||
|
"radiant/gestures/queue/QueueRequest.smali",
|
||||||
|
"radiant/gestures/queue/QueueRowResolver.smali",
|
||||||
|
"radiant/gestures/queue/QueueExecutor.smali",
|
||||||
|
"radiant/gestures/queue/FavoriteTracksResolver.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyAlbumsResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyPlaylistsResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyMixesAndRadioResolver.smali",
|
||||||
|
"radiant/gestures/queue/SearchAlbumsResolver.smali",
|
||||||
|
"radiant/gestures/queue/SearchPlaylistsResolver.smali",
|
||||||
|
"radiant/gestures/queue/PlaylistItemsResolver.smali",
|
||||||
|
"radiant/gestures/queue/UnifiedSearchResolver.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeAction.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$Gesture.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$Draw.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$ResetAnimator.smali",
|
||||||
|
"radiant/gestures/queue/ComposeTapGuard.smali",
|
||||||
|
"radiant/gestures/queue/AlbumItemQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueue.smali",
|
||||||
|
"radiant/gestures/queue/ViewAllTrackQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ViewAllTrackQueue.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueue.smali",
|
||||||
|
"radiant/gestures/queue/FeedResolver.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueue.smali",
|
||||||
|
"radiant/gestures/queue/DynamicMediaQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/CompactGridMediaQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/VerticalMediaQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/PublicPlaylistQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicMediaQueue.smali",
|
||||||
|
"radiant/gestures/queue/SuggestionsResolver.smali"
|
||||||
|
],
|
||||||
|
"title": "Swipe to Queue",
|
||||||
|
"description": "Swipe on tracks/albums/playlists to add them to the play queue (and more actions)",
|
||||||
|
"default": false,
|
||||||
|
"advancedOptions": [
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "left_action",
|
||||||
|
"title": "Left Swipe Action",
|
||||||
|
"entries": [
|
||||||
|
"Disabled",
|
||||||
|
"Play next",
|
||||||
|
"Add to queue",
|
||||||
|
"Add to playlist"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x0",
|
||||||
|
"0x1",
|
||||||
|
"0x2",
|
||||||
|
"0x3"
|
||||||
|
],
|
||||||
|
"defaultIndex": 2,
|
||||||
|
"inline": true,
|
||||||
|
"distinctFrom": "right_action",
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_LEFT_ACTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "right_action",
|
||||||
|
"title": "Right Swipe Action",
|
||||||
|
"entries": [
|
||||||
|
"Disabled",
|
||||||
|
"Play next",
|
||||||
|
"Add to queue",
|
||||||
|
"Add to playlist"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x0",
|
||||||
|
"0x1",
|
||||||
|
"0x2",
|
||||||
|
"0x3"
|
||||||
|
],
|
||||||
|
"defaultIndex": 0,
|
||||||
|
"inline": true,
|
||||||
|
"distinctFrom": "left_action",
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_RIGHT_ACTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "remove_direction",
|
||||||
|
"title": "Remove Track from Queue",
|
||||||
|
"entries": [
|
||||||
|
"Left swipe",
|
||||||
|
"Right swipe",
|
||||||
|
"Both directions"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x4",
|
||||||
|
"0x8",
|
||||||
|
"0xc"
|
||||||
|
],
|
||||||
|
"defaultIndex": 0,
|
||||||
|
"forceDropdown": true,
|
||||||
|
"inline": true,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_REMOVE_DIRECTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "background_color",
|
||||||
|
"title": "Add to Queue Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_ADD_COLOR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "play_next_color",
|
||||||
|
"title": "Play Next Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "add_to_playlist_color",
|
||||||
|
"title": "Add to Playlist Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "LyricsProgressPill",
|
"id": "LyricsProgressPill",
|
||||||
"order": 40,
|
"order": 40,
|
||||||
@@ -542,14 +678,14 @@
|
|||||||
"lyrics-gesture-scroll-guard.patch"
|
"lyrics-gesture-scroll-guard.patch"
|
||||||
],
|
],
|
||||||
"extensionFiles": [
|
"extensionFiles": [
|
||||||
"radiant/gestures/MiniPlayerGestures.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$Gesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$Gesture.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$FeedbackLayer.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$FeedbackResetAnimator.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$FeedbackResetAnimator.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$RootGesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$RootGesture.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$ApplyPending.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending.smali",
|
||||||
"radiant/gestures/LyricsDrag.smali",
|
"radiant/gestures/lyrics/LyricsDrag.smali",
|
||||||
"radiant/gestures/LyricsDrag$Guard.smali"
|
"radiant/gestures/lyrics/LyricsDrag$Guard.smali"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -579,11 +715,11 @@
|
|||||||
"mini-player-left-right-gesture.patch"
|
"mini-player-left-right-gesture.patch"
|
||||||
],
|
],
|
||||||
"extensionFiles": [
|
"extensionFiles": [
|
||||||
"radiant/gestures/MiniPlayerTrackGestures.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$Gesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$OffsetLayer.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$ResetAnimator.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$ResetAnimator.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$TextDraw.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw.smali",
|
||||||
"com/tidal/android/feature/appscaffold/ui/r$c.smali"
|
"com/tidal/android/feature/appscaffold/ui/r$c.smali"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+177
-3
@@ -3,26 +3,49 @@ package com.meowarex.rlmobile.ui.components.radiant
|
|||||||
import androidx.compose.animation.animateColorAsState
|
import androidx.compose.animation.animateColorAsState
|
||||||
import androidx.compose.animation.core.animateDpAsState
|
import androidx.compose.animation.core.animateDpAsState
|
||||||
import androidx.compose.animation.core.animateFloatAsState
|
import androidx.compose.animation.core.animateFloatAsState
|
||||||
|
import androidx.compose.animation.core.FastOutSlowInEasing
|
||||||
|
import androidx.compose.animation.core.MutableTransitionState
|
||||||
|
import androidx.compose.animation.core.animateFloat
|
||||||
|
import androidx.compose.animation.core.rememberTransition
|
||||||
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.border
|
import androidx.compose.foundation.border
|
||||||
|
import androidx.compose.foundation.BorderStroke
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.interaction.collectIsFocusedAsState
|
import androidx.compose.foundation.interaction.collectIsFocusedAsState
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.*
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.text.BasicTextField
|
import androidx.compose.foundation.text.BasicTextField
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.*
|
import androidx.compose.material3.*
|
||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
|
import androidx.compose.runtime.saveable.rememberSaveable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.alpha
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.draw.rotate
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.SolidColor
|
import androidx.compose.ui.graphics.SolidColor
|
||||||
|
import androidx.compose.ui.graphics.graphicsLayer
|
||||||
|
import androidx.compose.ui.layout.onSizeChanged
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.semantics.Role
|
import androidx.compose.ui.semantics.Role
|
||||||
|
import androidx.compose.ui.semantics.role
|
||||||
|
import androidx.compose.ui.semantics.selected
|
||||||
|
import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.input.VisualTransformation
|
import androidx.compose.ui.text.input.VisualTransformation
|
||||||
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.compose.ui.window.Popup
|
||||||
|
import androidx.compose.ui.window.PopupProperties
|
||||||
|
import com.meowarex.rlmobile.R
|
||||||
import com.meowarex.rlmobile.ui.theme.*
|
import com.meowarex.rlmobile.ui.theme.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -113,6 +136,151 @@ fun RadiantTextField(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dropdown
|
||||||
|
*/
|
||||||
|
@Composable
|
||||||
|
fun RadiantDropdown(
|
||||||
|
options: List<String>,
|
||||||
|
selectedIndex: Int,
|
||||||
|
onSelect: (Int) -> Unit,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
enabled: Boolean = true,
|
||||||
|
disabledIndices: Set<Int> = emptySet(),
|
||||||
|
) {
|
||||||
|
var expanded by rememberSaveable { mutableStateOf(false) }
|
||||||
|
val visibilityState = remember { MutableTransitionState(false) }
|
||||||
|
visibilityState.targetState = expanded
|
||||||
|
val transition = rememberTransition(visibilityState, label = "Dropdown")
|
||||||
|
val progress by transition.animateFloat(
|
||||||
|
transitionSpec = { tween(durationMillis = 160, easing = FastOutSlowInEasing) },
|
||||||
|
label = "DropdownProgress",
|
||||||
|
) {
|
||||||
|
if (it) 1f else 0f
|
||||||
|
}
|
||||||
|
val scheme = MaterialTheme.colorScheme
|
||||||
|
val selectedLabel = options.getOrNull(selectedIndex).orEmpty()
|
||||||
|
val shape = if (radiantStyle.native) MaterialTheme.shapes.extraSmall else RoundedCornerShape(16.dp)
|
||||||
|
var anchorWidthPx by remember { mutableIntStateOf(0) }
|
||||||
|
val anchorWidth = with(LocalDensity.current) { anchorWidthPx.toDp() }
|
||||||
|
val positionProvider = MenuDefaults.rememberDropdownMenuPopupPositionProvider(
|
||||||
|
dropdownMenuAnchorPosition = MenuAnchorPosition.Below,
|
||||||
|
offset = DpOffset(0.dp, 6.dp),
|
||||||
|
)
|
||||||
|
Box(modifier = modifier.fillMaxWidth()) {
|
||||||
|
Row(
|
||||||
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.onSizeChanged { anchorWidthPx = it.width }
|
||||||
|
.background(scheme.surfaceContainerLowest.copy(alpha = 0.8f), shape)
|
||||||
|
.then(
|
||||||
|
if (radiantStyle.native) Modifier.border(1.dp, scheme.outline, shape)
|
||||||
|
else Modifier.border(
|
||||||
|
RadiantDesign.Hairline,
|
||||||
|
hairlineBrush(scheme.onSurface, RadiantDesign.BORDER_ALPHA * 1.5f),
|
||||||
|
shape,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.clip(shape)
|
||||||
|
.clickable(enabled = enabled, role = Role.Button) { expanded = !expanded }
|
||||||
|
.alpha(if (enabled) 1f else 0.45f)
|
||||||
|
.heightIn(min = 52.dp)
|
||||||
|
.padding(horizontal = 16.dp, vertical = 10.dp),
|
||||||
|
) {
|
||||||
|
Text(
|
||||||
|
text = selectedLabel,
|
||||||
|
style = MaterialTheme.typography.bodyLarge,
|
||||||
|
color = scheme.onSurface,
|
||||||
|
maxLines = 1,
|
||||||
|
overflow = TextOverflow.Ellipsis,
|
||||||
|
modifier = Modifier.weight(1f),
|
||||||
|
)
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(R.drawable.ic_arrow_down_small),
|
||||||
|
contentDescription = null,
|
||||||
|
modifier = Modifier.rotate(180f * progress),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
anchorWidthPx > 0 &&
|
||||||
|
(visibilityState.currentState || visibilityState.targetState || transition.isRunning)
|
||||||
|
) {
|
||||||
|
Popup(
|
||||||
|
popupPositionProvider = positionProvider,
|
||||||
|
onDismissRequest = { expanded = false },
|
||||||
|
properties = PopupProperties(focusable = true),
|
||||||
|
) {
|
||||||
|
Surface(
|
||||||
|
modifier = Modifier
|
||||||
|
.width(anchorWidth)
|
||||||
|
.graphicsLayer {
|
||||||
|
alpha = progress
|
||||||
|
scaleX = 0.92f + 0.08f * progress
|
||||||
|
scaleY = 0.92f + 0.08f * progress
|
||||||
|
transformOrigin = positionProvider.transformOrigin
|
||||||
|
},
|
||||||
|
shape = shape,
|
||||||
|
color = scheme.surfaceContainer,
|
||||||
|
tonalElevation = 0.dp,
|
||||||
|
shadowElevation = 8.dp,
|
||||||
|
border = BorderStroke(
|
||||||
|
RadiantDesign.Hairline,
|
||||||
|
scheme.onSurface.copy(alpha = RadiantDesign.BORDER_ALPHA * 2f),
|
||||||
|
),
|
||||||
|
) {
|
||||||
|
Column(
|
||||||
|
modifier = Modifier
|
||||||
|
.heightIn(max = 320.dp)
|
||||||
|
.verticalScroll(rememberScrollState())
|
||||||
|
.padding(vertical = 6.dp),
|
||||||
|
) {
|
||||||
|
options.forEachIndexed { index, option ->
|
||||||
|
val selected = index == selectedIndex
|
||||||
|
val itemEnabled = enabled && index !in disabledIndices
|
||||||
|
DropdownMenuItem(
|
||||||
|
text = {
|
||||||
|
Text(
|
||||||
|
text = option,
|
||||||
|
style = MaterialTheme.typography.bodyLarge,
|
||||||
|
maxLines = 1,
|
||||||
|
overflow = TextOverflow.Ellipsis,
|
||||||
|
)
|
||||||
|
},
|
||||||
|
trailingIcon = {
|
||||||
|
RadiantRadio(
|
||||||
|
selected = selected,
|
||||||
|
onClick = null,
|
||||||
|
enabled = itemEnabled,
|
||||||
|
)
|
||||||
|
},
|
||||||
|
enabled = itemEnabled,
|
||||||
|
onClick = {
|
||||||
|
onSelect(index)
|
||||||
|
expanded = false
|
||||||
|
},
|
||||||
|
modifier = Modifier
|
||||||
|
.padding(horizontal = 6.dp, vertical = 2.dp)
|
||||||
|
.clip(RoundedCornerShape(12.dp))
|
||||||
|
.semantics {
|
||||||
|
this.selected = selected
|
||||||
|
role = Role.RadioButton
|
||||||
|
}
|
||||||
|
.then(
|
||||||
|
if (selected) Modifier.background(scheme.primary.copy(alpha = 0.1f))
|
||||||
|
else Modifier
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Slider. (i prefer the old on tbh so i reverted it back <3)
|
* Slider. (i prefer the old on tbh so i reverted it back <3)
|
||||||
*/
|
*/
|
||||||
@@ -161,6 +329,7 @@ fun RadiantSegmented(
|
|||||||
onSelect: (Int) -> Unit,
|
onSelect: (Int) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
enabled: Boolean = true,
|
enabled: Boolean = true,
|
||||||
|
disabledIndices: Set<Int> = emptySet(),
|
||||||
) {
|
) {
|
||||||
if (radiantStyle.native) {
|
if (radiantStyle.native) {
|
||||||
SingleChoiceSegmentedButtonRow(modifier = modifier.fillMaxWidth()) {
|
SingleChoiceSegmentedButtonRow(modifier = modifier.fillMaxWidth()) {
|
||||||
@@ -168,7 +337,7 @@ fun RadiantSegmented(
|
|||||||
SegmentedButton(
|
SegmentedButton(
|
||||||
selected = index == selectedIndex,
|
selected = index == selectedIndex,
|
||||||
onClick = { onSelect(index) },
|
onClick = { onSelect(index) },
|
||||||
enabled = enabled,
|
enabled = enabled && index !in disabledIndices,
|
||||||
shape = SegmentedButtonDefaults.itemShape(index = index, count = options.size),
|
shape = SegmentedButtonDefaults.itemShape(index = index, count = options.size),
|
||||||
icon = {},
|
icon = {},
|
||||||
label = { Text(text = label, maxLines = 1) },
|
label = { Text(text = label, maxLines = 1) },
|
||||||
@@ -196,6 +365,7 @@ fun RadiantSegmented(
|
|||||||
) {
|
) {
|
||||||
options.forEachIndexed { index, label ->
|
options.forEachIndexed { index, label ->
|
||||||
val selected = index == selectedIndex
|
val selected = index == selectedIndex
|
||||||
|
val segmentEnabled = enabled && index !in disabledIndices
|
||||||
val pillShape = RoundedCornerShape(13.dp)
|
val pillShape = RoundedCornerShape(13.dp)
|
||||||
val alpha by animateFloatAsState(
|
val alpha by animateFloatAsState(
|
||||||
targetValue = if (selected) 1f else 0f,
|
targetValue = if (selected) 1f else 0f,
|
||||||
@@ -218,7 +388,7 @@ fun RadiantSegmented(
|
|||||||
} else Modifier
|
} else Modifier
|
||||||
)
|
)
|
||||||
.clickable(
|
.clickable(
|
||||||
enabled = enabled,
|
enabled = segmentEnabled,
|
||||||
role = Role.RadioButton,
|
role = Role.RadioButton,
|
||||||
onClick = { onSelect(index) },
|
onClick = { onSelect(index) },
|
||||||
),
|
),
|
||||||
@@ -226,7 +396,11 @@ fun RadiantSegmented(
|
|||||||
Text(
|
Text(
|
||||||
text = label,
|
text = label,
|
||||||
style = MaterialTheme.typography.labelLarge,
|
style = MaterialTheme.typography.labelLarge,
|
||||||
color = if (selected) scheme.onPrimary else scheme.onSurfaceVariant,
|
color = when {
|
||||||
|
selected -> scheme.onPrimary
|
||||||
|
segmentEnabled -> scheme.onSurfaceVariant
|
||||||
|
else -> scheme.onSurface.copy(alpha = 0.38f)
|
||||||
|
},
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+72
-47
@@ -33,11 +33,13 @@ import androidx.compose.ui.text.style.TextAlign
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.meowarex.rlmobile.R
|
import com.meowarex.rlmobile.R
|
||||||
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantDropdown
|
||||||
import com.meowarex.rlmobile.ui.legacy.components.ResetToDefaultButton
|
import com.meowarex.rlmobile.ui.legacy.components.ResetToDefaultButton
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.OptionLock
|
import com.meowarex.rlmobile.ui.screens.patchopts.OptionLock
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.hiddenForVariant
|
import com.meowarex.rlmobile.ui.screens.patchopts.hiddenForVariant
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.isInline
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.optionLock
|
import com.meowarex.rlmobile.ui.screens.patchopts.optionLock
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -103,12 +105,12 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
|
|
||||||
val parentKeys = patch.advancedOptions
|
val parentKeys = patch.advancedOptions
|
||||||
.filterIsInstance<OptionSpec.Toggle>()
|
.filterIsInstance<OptionSpec.Toggle>()
|
||||||
.filter { !it.inline }
|
.filter { !it.isInline }
|
||||||
.map { it.key }
|
.map { it.key }
|
||||||
.toSet()
|
.toSet()
|
||||||
val sheetOptions = patch.advancedOptions.filter { option ->
|
val sheetOptions = patch.advancedOptions.filter { option ->
|
||||||
when {
|
when {
|
||||||
option is OptionSpec.Toggle && option.inline -> false
|
option.isInline -> false
|
||||||
option is OptionSpec.Toggle && option.requiresOption in parentKeys -> false
|
option is OptionSpec.Toggle && option.requiresOption in parentKeys -> false
|
||||||
// Options belonging to another variant are hidden, not greyed out.
|
// Options belonging to another variant are hidden, not greyed out.
|
||||||
option.hiddenForVariant(selectedVariant) -> false
|
option.hiddenForVariant(selectedVariant) -> false
|
||||||
@@ -121,7 +123,7 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
is OptionSpec.Toggle -> {
|
is OptionSpec.Toggle -> {
|
||||||
val toggleOn = state.toggle(patch, option)
|
val toggleOn = state.toggle(patch, option)
|
||||||
val gatedChoices = patch.advancedOptions.filterIsInstance<OptionSpec.Choice>()
|
val gatedChoices = patch.advancedOptions.filterIsInstance<OptionSpec.Choice>()
|
||||||
.filter { it.requiresOption == option.key }
|
.filter { it.requiresOption == option.key && !it.isInline }
|
||||||
val gatedToggles = patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
val gatedToggles = patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
||||||
.filter { it.requiresOption == option.key && !it.inline }
|
.filter { it.requiresOption == option.key && !it.inline }
|
||||||
val hasSubOptions = gatedChoices.isNotEmpty() || gatedToggles.isNotEmpty()
|
val hasSubOptions = gatedChoices.isNotEmpty() || gatedToggles.isNotEmpty()
|
||||||
@@ -164,8 +166,14 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
key(choice.key) {
|
key(choice.key) {
|
||||||
ChoiceOptionRow(
|
ChoiceOptionRow(
|
||||||
title = choice.title,
|
title = choice.title,
|
||||||
|
description = choice.description,
|
||||||
entries = choice.entries,
|
entries = choice.entries,
|
||||||
selectedIndex = state.choice(patch, choice),
|
selectedIndex = state.choice(patch, choice),
|
||||||
|
forceDropdown = choice.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(choice)
|
||||||
|
.map { state.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
onSelect = { state.setChoice(patch, choice, it) },
|
onSelect = { state.setChoice(patch, choice, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -203,8 +211,14 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
if (option.requiresOption == null) {
|
if (option.requiresOption == null) {
|
||||||
ChoiceOptionRow(
|
ChoiceOptionRow(
|
||||||
title = option.title,
|
title = option.title,
|
||||||
|
description = option.description,
|
||||||
entries = option.entries,
|
entries = option.entries,
|
||||||
selectedIndex = state.choice(patch, option),
|
selectedIndex = state.choice(patch, option),
|
||||||
|
forceDropdown = option.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(option)
|
||||||
|
.map { state.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
onSelect = { state.setChoice(patch, option, it) },
|
onSelect = { state.setChoice(patch, option, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -212,6 +226,7 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
is OptionSpec.Color -> ColorOptionRow(
|
is OptionSpec.Color -> ColorOptionRow(
|
||||||
title = option.title,
|
title = option.title,
|
||||||
color = state.color(patch, option),
|
color = state.color(patch, option),
|
||||||
|
defaultColor = option.default,
|
||||||
onColorChange = { state.setColor(patch, option, it) },
|
onColorChange = { state.setColor(patch, option, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -376,57 +391,41 @@ private fun snapToNearestStep(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun ChoiceOptionRow(
|
internal fun ChoiceOptionRow(
|
||||||
entries: List<String>,
|
entries: List<String>,
|
||||||
selectedIndex: Int,
|
selectedIndex: Int,
|
||||||
onSelect: (Int) -> Unit,
|
onSelect: (Int) -> Unit,
|
||||||
title: String = "",
|
title: String = "",
|
||||||
|
description: String = "",
|
||||||
|
forceDropdown: Boolean = false,
|
||||||
|
disabledIndices: Set<Int> = emptySet(),
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.fillMaxWidth(),
|
modifier = modifier.fillMaxWidth(),
|
||||||
verticalArrangement = Arrangement.spacedBy(6.dp),
|
verticalArrangement = Arrangement.spacedBy(6.dp),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.Start,
|
||||||
) {
|
) {
|
||||||
if (title.isNotEmpty()) {
|
if (title.isNotEmpty()) {
|
||||||
Text(
|
Text(
|
||||||
text = title,
|
text = title,
|
||||||
style = MaterialTheme.typography.labelMedium,
|
style = MaterialTheme.typography.titleSmall,
|
||||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
|
||||||
textAlign = TextAlign.Center,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (entries.size > 3) {
|
if (description.isNotEmpty()) {
|
||||||
var expanded by rememberSaveable { mutableStateOf(false) }
|
Text(
|
||||||
val selectedLabel = entries.getOrNull(selectedIndex).orEmpty()
|
text = description,
|
||||||
|
style = MaterialTheme.typography.bodySmall,
|
||||||
Box(modifier = Modifier.fillMaxWidth()) {
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
OutlinedButton(
|
)
|
||||||
onClick = { expanded = true },
|
}
|
||||||
modifier = Modifier.fillMaxWidth(),
|
if (forceDropdown || entries.size > 3) {
|
||||||
) {
|
RadiantDropdown(
|
||||||
Text(
|
options = entries,
|
||||||
text = selectedLabel,
|
selectedIndex = selectedIndex,
|
||||||
maxLines = 1,
|
onSelect = onSelect,
|
||||||
overflow = TextOverflow.Ellipsis,
|
disabledIndices = disabledIndices,
|
||||||
)
|
)
|
||||||
}
|
|
||||||
DropdownMenu(
|
|
||||||
expanded = expanded,
|
|
||||||
onDismissRequest = { expanded = false },
|
|
||||||
modifier = Modifier.fillMaxWidth(),
|
|
||||||
) {
|
|
||||||
entries.forEachIndexed { index, entry ->
|
|
||||||
DropdownMenuItem(
|
|
||||||
text = { Text(entry) },
|
|
||||||
onClick = {
|
|
||||||
onSelect(index)
|
|
||||||
expanded = false
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return@Column
|
return@Column
|
||||||
}
|
}
|
||||||
SingleChoiceSegmentedButtonRow(modifier = Modifier.fillMaxWidth()) {
|
SingleChoiceSegmentedButtonRow(modifier = Modifier.fillMaxWidth()) {
|
||||||
@@ -434,6 +433,7 @@ private fun ChoiceOptionRow(
|
|||||||
SegmentedButton(
|
SegmentedButton(
|
||||||
selected = index == selectedIndex,
|
selected = index == selectedIndex,
|
||||||
onClick = { onSelect(index) },
|
onClick = { onSelect(index) },
|
||||||
|
enabled = index !in disabledIndices,
|
||||||
shape = SegmentedButtonDefaults.itemShape(index = index, count = entries.size),
|
shape = SegmentedButtonDefaults.itemShape(index = index, count = entries.size),
|
||||||
icon = {},
|
icon = {},
|
||||||
label = {
|
label = {
|
||||||
@@ -455,17 +455,34 @@ private fun ChoiceOptionRow(
|
|||||||
private fun ColorOptionRow(
|
private fun ColorOptionRow(
|
||||||
title: String,
|
title: String,
|
||||||
color: Int,
|
color: Int,
|
||||||
|
defaultColor: Int,
|
||||||
onColorChange: (Int) -> Unit,
|
onColorChange: (Int) -> Unit,
|
||||||
) {
|
) {
|
||||||
var showPicker by rememberSaveable { mutableStateOf(false) }
|
var showPicker by rememberSaveable { mutableStateOf(false) }
|
||||||
val selectedColor = color.withOpaqueAlpha()
|
val selectedColor = color.withOpaqueAlpha()
|
||||||
val materialYouColor = MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha()
|
val isNeutralPalette = defaultColor.withOpaqueAlpha() == NEUTRAL
|
||||||
val presets = listOf(
|
val presets = if (isNeutralPalette) {
|
||||||
stringResource(R.string.patch_waze_color_waze_default),
|
listOf(
|
||||||
stringResource(R.string.patch_waze_color_tidal_cyan),
|
stringResource(R.string.patch_color_neutral),
|
||||||
stringResource(R.string.patch_waze_color_material_you),
|
stringResource(R.string.patch_color_green),
|
||||||
)
|
stringResource(R.string.patch_color_cyan),
|
||||||
val presetColors = listOf(WAZE_DEFAULT, TIDAL_CYAN, materialYouColor)
|
)
|
||||||
|
} else {
|
||||||
|
listOf(
|
||||||
|
stringResource(R.string.patch_waze_color_waze_default),
|
||||||
|
stringResource(R.string.patch_waze_color_tidal_cyan),
|
||||||
|
stringResource(R.string.patch_waze_color_material_you),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
val presetColors = if (isNeutralPalette) {
|
||||||
|
listOf(NEUTRAL, GREEN, CYAN)
|
||||||
|
} else {
|
||||||
|
listOf(
|
||||||
|
defaultColor.withOpaqueAlpha(),
|
||||||
|
TIDAL_CYAN,
|
||||||
|
MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha(),
|
||||||
|
)
|
||||||
|
}
|
||||||
val selectedPreset = presetColors.indexOf(selectedColor)
|
val selectedPreset = presetColors.indexOf(selectedColor)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
@@ -493,6 +510,12 @@ private fun ColorOptionRow(
|
|||||||
style = MaterialTheme.typography.labelLarge,
|
style = MaterialTheme.typography.labelLarge,
|
||||||
color = MaterialTheme.colorScheme.primary,
|
color = MaterialTheme.colorScheme.primary,
|
||||||
)
|
)
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(R.drawable.ic_edit),
|
||||||
|
contentDescription = stringResource(R.string.patch_color_edit),
|
||||||
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
modifier = Modifier.size(18.dp),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
SingleChoiceSegmentedButtonRow(modifier = Modifier.fillMaxWidth()) {
|
SingleChoiceSegmentedButtonRow(modifier = Modifier.fillMaxWidth()) {
|
||||||
presets.forEachIndexed { index, label ->
|
presets.forEachIndexed { index, label ->
|
||||||
@@ -628,7 +651,9 @@ private fun formatSliderValue(option: OptionSpec.Slider, value: Float): String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private const val OPAQUE_ALPHA = -0x1000000
|
private const val OPAQUE_ALPHA = -0x1000000
|
||||||
private const val WAZE_DEFAULT = -16747037 // #ff0075e3
|
private const val NEUTRAL = -14408663 // #ff242429
|
||||||
|
private const val GREEN = -14749031 // #ff1ef299
|
||||||
|
private const val CYAN = -14748953 // #ff1ef2e7
|
||||||
private const val TIDAL_CYAN = -14549268 // #ff21feec
|
private const val TIDAL_CYAN = -14549268 // #ff21feec
|
||||||
|
|
||||||
private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA
|
private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA
|
||||||
|
|||||||
+40
-15
@@ -36,6 +36,8 @@ import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptions
|
|||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.effectiveVariants
|
import com.meowarex.rlmobile.ui.screens.patchopts.effectiveVariants
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.resolveVariantIndex
|
import com.meowarex.rlmobile.ui.screens.patchopts.resolveVariantIndex
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.conflictingChoices
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.isInline
|
||||||
|
|
||||||
private data class LockInfo(val patch: PatchSpec, val lock: PatchLock)
|
private data class LockInfo(val patch: PatchSpec, val lock: PatchLock)
|
||||||
|
|
||||||
@@ -131,11 +133,9 @@ fun PatchSelectionAccordion(
|
|||||||
val checked = isEnabled(patch)
|
val checked = isEnabled(patch)
|
||||||
val lock = lockState(patch)
|
val lock = lockState(patch)
|
||||||
|
|
||||||
val inlineToggles = patch.advancedOptions
|
val inlineOptions = patch.advancedOptions.filter { it.isInline }
|
||||||
.filterIsInstance<OptionSpec.Toggle>()
|
val hasSheetOptions = patch.advancedOptions.any { !it.isInline }
|
||||||
.filter { it.inline }
|
val hasSettings = patch.variants.isNotEmpty() || inlineOptions.isNotEmpty() || hasSheetOptions
|
||||||
val hasSheetOptions = patch.advancedOptions.any { it !is OptionSpec.Toggle || !it.inline }
|
|
||||||
val hasSettings = patch.variants.isNotEmpty() || inlineToggles.isNotEmpty() || hasSheetOptions
|
|
||||||
|
|
||||||
// When a patch is enabled and has settings show a carded view of the settings
|
// When a patch is enabled and has settings show a carded view of the settings
|
||||||
val carded = checked && hasSettings
|
val carded = checked && hasSettings
|
||||||
@@ -191,16 +191,41 @@ fun PatchSelectionAccordion(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (option in inlineToggles) key(option.key) {
|
for (option in inlineOptions) key(option.key) {
|
||||||
val show = option.requiresVariant == null ||
|
when (option) {
|
||||||
option.requiresVariant == resolvedVariant
|
is OptionSpec.Toggle -> {
|
||||||
if (show) {
|
val show = option.requiresVariant == null ||
|
||||||
InlineToggleRow(
|
option.requiresVariant == resolvedVariant
|
||||||
title = option.title,
|
if (show) {
|
||||||
description = option.description,
|
InlineToggleRow(
|
||||||
checked = optionState.toggle(patch, option),
|
title = option.title,
|
||||||
onCheckedChange = { optionState.setToggle(patch, option, it) },
|
description = option.description,
|
||||||
)
|
checked = optionState.toggle(patch, option),
|
||||||
|
onCheckedChange = { optionState.setToggle(patch, option, it) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is OptionSpec.Choice -> {
|
||||||
|
val requiredToggle = option.requiresOption?.let { key ->
|
||||||
|
patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
||||||
|
.firstOrNull { it.key == key }
|
||||||
|
}
|
||||||
|
if (requiredToggle == null || optionState.toggle(patch, requiredToggle)) {
|
||||||
|
ChoiceOptionRow(
|
||||||
|
title = option.title,
|
||||||
|
description = option.description,
|
||||||
|
entries = option.entries,
|
||||||
|
selectedIndex = optionState.choice(patch, option),
|
||||||
|
forceDropdown = option.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(option)
|
||||||
|
.map { optionState.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
|
onSelect = { optionState.setChoice(patch, option, it) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+35
-10
@@ -179,7 +179,12 @@ class PatchOptionsModel(
|
|||||||
|
|
||||||
fun setChoiceValue(spec: PatchSpec, option: OptionSpec.Choice, index: Int) {
|
fun setChoiceValue(spec: PatchSpec, option: OptionSpec.Choice, index: Int) {
|
||||||
if (index !in option.entries.indices) return
|
if (index !in option.entries.indices) return
|
||||||
optionInts = optionInts + (keyOf(spec, option) to index)
|
val selectedKey = keyOf(spec, option)
|
||||||
|
optionInts = normalizeChoiceSelections(
|
||||||
|
specs = listOf(spec),
|
||||||
|
values = optionInts + (selectedKey to index),
|
||||||
|
preferredKey = selectedKey,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun colorValue(spec: PatchSpec, option: OptionSpec.Color): Int =
|
fun colorValue(spec: PatchSpec, option: OptionSpec.Color): Int =
|
||||||
@@ -190,10 +195,9 @@ class PatchOptionsModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun isAdvancedModified(spec: PatchSpec): Boolean = spec.advancedOptions.any { option ->
|
fun isAdvancedModified(spec: PatchSpec): Boolean = spec.advancedOptions.any { option ->
|
||||||
|
if (option.isInline) return@any false
|
||||||
when (option) {
|
when (option) {
|
||||||
// inline toggles sit next to the variant picker, not in the sheet, so they
|
is OptionSpec.Toggle -> toggleValue(spec, option) != option.default
|
||||||
// must not light up the sheet's "modified" dot
|
|
||||||
is OptionSpec.Toggle -> !option.inline && toggleValue(spec, option) != option.default
|
|
||||||
is OptionSpec.Slider -> sliderValue(spec, option) != option.default
|
is OptionSpec.Slider -> sliderValue(spec, option) != option.default
|
||||||
is OptionSpec.Choice -> choiceValue(spec, option) != option.defaultIndex
|
is OptionSpec.Choice -> choiceValue(spec, option) != option.defaultIndex
|
||||||
is OptionSpec.Color -> colorValue(spec, option) != option.default
|
is OptionSpec.Color -> colorValue(spec, option) != option.default
|
||||||
@@ -201,10 +205,22 @@ class PatchOptionsModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun resetAdvanced(spec: PatchSpec) {
|
fun resetAdvanced(spec: PatchSpec) {
|
||||||
val prefix = "${spec.id}/"
|
val advancedOptions = spec.advancedOptions.filter { !it.isInline }
|
||||||
optionBools = optionBools.filterKeys { !it.startsWith(prefix) }
|
val boolKeys = advancedOptions.filterIsInstance<OptionSpec.Toggle>().map { keyOf(spec, it) }.toSet()
|
||||||
optionFloats = optionFloats.filterKeys { !it.startsWith(prefix) }
|
val floatKeys = advancedOptions.filterIsInstance<OptionSpec.Slider>().map { keyOf(spec, it) }.toSet()
|
||||||
optionInts = optionInts.filterKeys { !it.startsWith(prefix) }
|
val intKeys = advancedOptions.filter { it is OptionSpec.Choice || it is OptionSpec.Color }
|
||||||
|
.map { keyOf(spec, it) }
|
||||||
|
.toSet()
|
||||||
|
optionBools = optionBools.filterKeys { it !in boolKeys }
|
||||||
|
optionFloats = optionFloats.filterKeys { it !in floatKeys }
|
||||||
|
optionInts = normalizeChoiceSelections(
|
||||||
|
specs = listOf(spec),
|
||||||
|
values = optionInts.filterKeys { it !in intKeys },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun normalizeChoiceSelections(specs: List<PatchSpec>) {
|
||||||
|
optionInts = normalizeChoiceSelections(specs, optionInts)
|
||||||
}
|
}
|
||||||
|
|
||||||
val optionState: PatchOptionState = PatchOptionState(
|
val optionState: PatchOptionState = PatchOptionState(
|
||||||
@@ -222,7 +238,6 @@ class PatchOptionsModel(
|
|||||||
|
|
||||||
fun lockState(spec: PatchSpec): PatchLock {
|
fun lockState(spec: PatchSpec): PatchLock {
|
||||||
if (isBlockedByPackageName(spec)) return PatchLock.RequiresDefaultPackage
|
if (isBlockedByPackageName(spec)) return PatchLock.RequiresDefaultPackage
|
||||||
if (spec.variants.isNotEmpty()) return PatchLock.Free
|
|
||||||
|
|
||||||
val byId = specs.associateBy { it.id }
|
val byId = specs.associateBy { it.id }
|
||||||
fun closure(seed: PatchSpec, step: (PatchSpec) -> List<PatchSpec>): Set<PatchSpec> =
|
fun closure(seed: PatchSpec, step: (PatchSpec) -> List<PatchSpec>): Set<PatchSpec> =
|
||||||
@@ -238,7 +253,14 @@ class PatchOptionsModel(
|
|||||||
if (other.id == spec.id || !isPatchEnabled(other)) continue
|
if (other.id == spec.id || !isPatchEnabled(other)) continue
|
||||||
|
|
||||||
val requiresClosure = closure(other, requiresOf)
|
val requiresClosure = closure(other, requiresOf)
|
||||||
if (spec in requiresClosure - other) return PatchLock.LockedOn(other)
|
// A spec with variants is a multi-choice control, so there is no single state to
|
||||||
|
// force it *on* into - hence the exemption here. Forcing it *off* is unambiguous, so
|
||||||
|
// the disables check below still applies to it. Skipping both left LyricsRlApi and
|
||||||
|
// PlayerBackdrop tappable under Legacy UI even though setPatchEnabled had already
|
||||||
|
// switched them off, letting the user turn a patch back on that cannot work.
|
||||||
|
if (spec.variants.isEmpty() && spec in requiresClosure - other) {
|
||||||
|
return PatchLock.LockedOn(other)
|
||||||
|
}
|
||||||
|
|
||||||
val disablesClosure = requiresClosure.flatMap { it.disables }
|
val disablesClosure = requiresClosure.flatMap { it.disables }
|
||||||
.mapNotNull(byId::get)
|
.mapNotNull(byId::get)
|
||||||
@@ -282,6 +304,7 @@ class PatchOptionsModel(
|
|||||||
val loaded = if (component == null) builtinSpecs else loadManifestSpecs(component) ?: builtinSpecs
|
val loaded = if (component == null) builtinSpecs else loadManifestSpecs(component) ?: builtinSpecs
|
||||||
mainThread {
|
mainThread {
|
||||||
specs = loaded
|
specs = loaded
|
||||||
|
normalizeChoiceSelections(loaded)
|
||||||
validatePatchSelection()
|
validatePatchSelection()
|
||||||
specsLoading = false
|
specsLoading = false
|
||||||
}
|
}
|
||||||
@@ -351,6 +374,7 @@ class PatchOptionsModel(
|
|||||||
?: loadCachedReleaseManifestSpecs() ?: builtinSpecs
|
?: loadCachedReleaseManifestSpecs() ?: builtinSpecs
|
||||||
mainThread {
|
mainThread {
|
||||||
specs = loaded
|
specs = loaded
|
||||||
|
normalizeChoiceSelections(loaded)
|
||||||
validatePatchSelection()
|
validatePatchSelection()
|
||||||
specsLoading = false
|
specsLoading = false
|
||||||
}
|
}
|
||||||
@@ -415,6 +439,7 @@ class PatchOptionsModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
normalizeChoiceSelections(specs)
|
||||||
validatePatchSelection()
|
validatePatchSelection()
|
||||||
screenModelScope.launchBlock { fetchPkgNameState() }
|
screenModelScope.launchBlock { fetchPkgNameState() }
|
||||||
// Default source is the latest release's manifest; custom selections drive themselves.
|
// Default source is the latest release's manifest; custom selections drive themselves.
|
||||||
|
|||||||
@@ -125,6 +125,10 @@ sealed interface OptionSpec {
|
|||||||
val defaultIndex: Int = 0,
|
val defaultIndex: Int = 0,
|
||||||
val values: List<String> = emptyList(),
|
val values: List<String> = emptyList(),
|
||||||
val requiresOption: String? = null,
|
val requiresOption: String? = null,
|
||||||
|
val forceDropdown: Boolean = false,
|
||||||
|
/** Render inline in the patch card instead of inside the advanced sheet */
|
||||||
|
val inline: Boolean = false,
|
||||||
|
val distinctFrom: String? = null,
|
||||||
val token: String? = null,
|
val token: String? = null,
|
||||||
) : OptionSpec
|
) : OptionSpec
|
||||||
|
|
||||||
@@ -141,6 +145,13 @@ sealed interface OptionSpec {
|
|||||||
) : OptionSpec
|
) : OptionSpec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val OptionSpec.isInline: Boolean
|
||||||
|
get() = when (this) {
|
||||||
|
is OptionSpec.Toggle -> inline
|
||||||
|
is OptionSpec.Choice -> inline
|
||||||
|
is OptionSpec.Slider, is OptionSpec.Color -> false
|
||||||
|
}
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
enum class EncodeKind {
|
enum class EncodeKind {
|
||||||
@SerialName("floatBits")
|
@SerialName("floatBits")
|
||||||
@@ -231,6 +242,41 @@ val OptionSpec.variantGate: Int?
|
|||||||
fun OptionSpec.hiddenForVariant(selectedVariant: Int): Boolean =
|
fun OptionSpec.hiddenForVariant(selectedVariant: Int): Boolean =
|
||||||
variantGate.let { it != null && it != selectedVariant }
|
variantGate.let { it != null && it != selectedVariant }
|
||||||
|
|
||||||
|
fun PatchSpec.conflictingChoices(option: OptionSpec.Choice): List<OptionSpec.Choice> =
|
||||||
|
advancedOptions.filterIsInstance<OptionSpec.Choice>().filter { other ->
|
||||||
|
other.key != option.key &&
|
||||||
|
(option.distinctFrom == other.key || other.distinctFrom == option.key)
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun normalizeChoiceSelections(
|
||||||
|
specs: List<PatchSpec>,
|
||||||
|
values: Map<String, Int>,
|
||||||
|
preferredKey: String? = null,
|
||||||
|
): Map<String, Int> {
|
||||||
|
val normalized = values.toMutableMap()
|
||||||
|
for (spec in specs) {
|
||||||
|
val choices = spec.advancedOptions.filterIsInstance<OptionSpec.Choice>()
|
||||||
|
fun fullKey(option: OptionSpec.Choice) = "${spec.id}/${option.key}"
|
||||||
|
fun selected(option: OptionSpec.Choice): Int =
|
||||||
|
(normalized[fullKey(option)] ?: option.defaultIndex)
|
||||||
|
.coerceIn(0, option.entries.lastIndex.coerceAtLeast(0))
|
||||||
|
|
||||||
|
for (leftIndex in choices.indices) {
|
||||||
|
val left = choices[leftIndex]
|
||||||
|
for (rightIndex in leftIndex + 1 until choices.size) {
|
||||||
|
val right = choices[rightIndex]
|
||||||
|
if (left.distinctFrom != right.key && right.distinctFrom != left.key) continue
|
||||||
|
val selected = selected(left)
|
||||||
|
if (selected == 0 || selected != selected(right)) continue
|
||||||
|
|
||||||
|
val loser = if (preferredKey == fullKey(right)) left else right
|
||||||
|
normalized[fullKey(loser)] = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return if (normalized == values) values else normalized
|
||||||
|
}
|
||||||
|
|
||||||
sealed interface OptionLock {
|
sealed interface OptionLock {
|
||||||
data object Free : OptionLock
|
data object Free : OptionLock
|
||||||
data class NeedsVariant(val title: String) : OptionLock
|
data class NeedsVariant(val title: String) : OptionLock
|
||||||
|
|||||||
+73
-43
@@ -32,6 +32,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import com.meowarex.rlmobile.R
|
import com.meowarex.rlmobile.R
|
||||||
import com.meowarex.rlmobile.ui.components.radiant.RadiantButton
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantButton
|
||||||
import com.meowarex.rlmobile.ui.components.radiant.RadiantDialog
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantDialog
|
||||||
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantDropdown
|
||||||
import com.meowarex.rlmobile.ui.components.radiant.RadiantButtonSize
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantButtonSize
|
||||||
import com.meowarex.rlmobile.ui.components.radiant.RadiantButtonStyle
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantButtonStyle
|
||||||
import com.meowarex.rlmobile.ui.components.radiant.RadiantIconButton
|
import com.meowarex.rlmobile.ui.components.radiant.RadiantIconButton
|
||||||
@@ -43,7 +44,9 @@ import com.meowarex.rlmobile.ui.components.ResetToDefaultButton
|
|||||||
import com.meowarex.rlmobile.ui.screens.patchopts.OptionLock
|
import com.meowarex.rlmobile.ui.screens.patchopts.OptionLock
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.conflictingChoices
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.hiddenForVariant
|
import com.meowarex.rlmobile.ui.screens.patchopts.hiddenForVariant
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.isInline
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.optionLock
|
import com.meowarex.rlmobile.ui.screens.patchopts.optionLock
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchSpec
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -109,12 +112,12 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
|
|
||||||
val parentKeys = patch.advancedOptions
|
val parentKeys = patch.advancedOptions
|
||||||
.filterIsInstance<OptionSpec.Toggle>()
|
.filterIsInstance<OptionSpec.Toggle>()
|
||||||
.filter { !it.inline }
|
.filter { !it.isInline }
|
||||||
.map { it.key }
|
.map { it.key }
|
||||||
.toSet()
|
.toSet()
|
||||||
val sheetOptions = patch.advancedOptions.filter { option ->
|
val sheetOptions = patch.advancedOptions.filter { option ->
|
||||||
when {
|
when {
|
||||||
option is OptionSpec.Toggle && option.inline -> false
|
option.isInline -> false
|
||||||
option is OptionSpec.Toggle && option.requiresOption in parentKeys -> false
|
option is OptionSpec.Toggle && option.requiresOption in parentKeys -> false
|
||||||
// Options belonging to another variant are hidden, not greyed out.
|
// Options belonging to another variant are hidden, not greyed out.
|
||||||
option.hiddenForVariant(selectedVariant) -> false
|
option.hiddenForVariant(selectedVariant) -> false
|
||||||
@@ -127,7 +130,7 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
is OptionSpec.Toggle -> {
|
is OptionSpec.Toggle -> {
|
||||||
val toggleOn = state.toggle(patch, option)
|
val toggleOn = state.toggle(patch, option)
|
||||||
val gatedChoices = patch.advancedOptions.filterIsInstance<OptionSpec.Choice>()
|
val gatedChoices = patch.advancedOptions.filterIsInstance<OptionSpec.Choice>()
|
||||||
.filter { it.requiresOption == option.key }
|
.filter { it.requiresOption == option.key && !it.isInline }
|
||||||
val gatedToggles = patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
val gatedToggles = patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
||||||
.filter { it.requiresOption == option.key && !it.inline }
|
.filter { it.requiresOption == option.key && !it.inline }
|
||||||
val hasSubOptions = gatedChoices.isNotEmpty() || gatedToggles.isNotEmpty()
|
val hasSubOptions = gatedChoices.isNotEmpty() || gatedToggles.isNotEmpty()
|
||||||
@@ -170,8 +173,14 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
key(choice.key) {
|
key(choice.key) {
|
||||||
ChoiceOptionRow(
|
ChoiceOptionRow(
|
||||||
title = choice.title,
|
title = choice.title,
|
||||||
|
description = choice.description,
|
||||||
entries = choice.entries,
|
entries = choice.entries,
|
||||||
selectedIndex = state.choice(patch, choice),
|
selectedIndex = state.choice(patch, choice),
|
||||||
|
forceDropdown = choice.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(choice)
|
||||||
|
.map { state.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
onSelect = { state.setChoice(patch, choice, it) },
|
onSelect = { state.setChoice(patch, choice, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -209,8 +218,14 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
if (option.requiresOption == null) {
|
if (option.requiresOption == null) {
|
||||||
ChoiceOptionRow(
|
ChoiceOptionRow(
|
||||||
title = option.title,
|
title = option.title,
|
||||||
|
description = option.description,
|
||||||
entries = option.entries,
|
entries = option.entries,
|
||||||
selectedIndex = state.choice(patch, option),
|
selectedIndex = state.choice(patch, option),
|
||||||
|
forceDropdown = option.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(option)
|
||||||
|
.map { state.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
onSelect = { state.setChoice(patch, option, it) },
|
onSelect = { state.setChoice(patch, option, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -218,6 +233,7 @@ fun PatchAdvancedOptionsSheet(
|
|||||||
is OptionSpec.Color -> ColorOptionRow(
|
is OptionSpec.Color -> ColorOptionRow(
|
||||||
title = option.title,
|
title = option.title,
|
||||||
color = state.color(patch, option),
|
color = state.color(patch, option),
|
||||||
|
defaultColor = option.default,
|
||||||
onColorChange = { state.setColor(patch, option, it) },
|
onColorChange = { state.setColor(patch, option, it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -376,59 +392,48 @@ private fun snapToNearestStep(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun ChoiceOptionRow(
|
internal fun ChoiceOptionRow(
|
||||||
entries: List<String>,
|
entries: List<String>,
|
||||||
selectedIndex: Int,
|
selectedIndex: Int,
|
||||||
onSelect: (Int) -> Unit,
|
onSelect: (Int) -> Unit,
|
||||||
title: String = "",
|
title: String = "",
|
||||||
|
description: String = "",
|
||||||
|
forceDropdown: Boolean = false,
|
||||||
|
disabledIndices: Set<Int> = emptySet(),
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.fillMaxWidth(),
|
modifier = modifier.fillMaxWidth(),
|
||||||
verticalArrangement = Arrangement.spacedBy(6.dp),
|
verticalArrangement = Arrangement.spacedBy(6.dp),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.Start,
|
||||||
) {
|
) {
|
||||||
if (title.isNotEmpty()) {
|
if (title.isNotEmpty()) {
|
||||||
Text(
|
Text(
|
||||||
text = title,
|
text = title,
|
||||||
style = MaterialTheme.typography.labelMedium,
|
style = MaterialTheme.typography.titleSmall,
|
||||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
|
||||||
textAlign = TextAlign.Center,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (entries.size > 3) {
|
if (description.isNotEmpty()) {
|
||||||
var expanded by rememberSaveable { mutableStateOf(false) }
|
Text(
|
||||||
val selectedLabel = entries.getOrNull(selectedIndex).orEmpty()
|
text = description,
|
||||||
|
style = MaterialTheme.typography.bodySmall,
|
||||||
Box(modifier = Modifier.fillMaxWidth()) {
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
RadiantButton(
|
)
|
||||||
text = selectedLabel,
|
}
|
||||||
onClick = { expanded = true },
|
if (forceDropdown || entries.size > 3) {
|
||||||
style = RadiantButtonStyle.Ghost,
|
RadiantDropdown(
|
||||||
fillWidth = true,
|
options = entries,
|
||||||
)
|
selectedIndex = selectedIndex,
|
||||||
DropdownMenu(
|
onSelect = onSelect,
|
||||||
expanded = expanded,
|
disabledIndices = disabledIndices,
|
||||||
onDismissRequest = { expanded = false },
|
)
|
||||||
modifier = Modifier.fillMaxWidth(),
|
|
||||||
) {
|
|
||||||
entries.forEachIndexed { index, entry ->
|
|
||||||
DropdownMenuItem(
|
|
||||||
text = { Text(entry) },
|
|
||||||
onClick = {
|
|
||||||
onSelect(index)
|
|
||||||
expanded = false
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return@Column
|
return@Column
|
||||||
}
|
}
|
||||||
RadiantSegmented(
|
RadiantSegmented(
|
||||||
options = entries,
|
options = entries,
|
||||||
selectedIndex = selectedIndex,
|
selectedIndex = selectedIndex,
|
||||||
onSelect = onSelect,
|
onSelect = onSelect,
|
||||||
|
disabledIndices = disabledIndices,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -437,17 +442,34 @@ private fun ChoiceOptionRow(
|
|||||||
private fun ColorOptionRow(
|
private fun ColorOptionRow(
|
||||||
title: String,
|
title: String,
|
||||||
color: Int,
|
color: Int,
|
||||||
|
defaultColor: Int,
|
||||||
onColorChange: (Int) -> Unit,
|
onColorChange: (Int) -> Unit,
|
||||||
) {
|
) {
|
||||||
var showPicker by rememberSaveable { mutableStateOf(false) }
|
var showPicker by rememberSaveable { mutableStateOf(false) }
|
||||||
val selectedColor = color.withOpaqueAlpha()
|
val selectedColor = color.withOpaqueAlpha()
|
||||||
val materialYouColor = MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha()
|
val isNeutralPalette = defaultColor.withOpaqueAlpha() == NEUTRAL
|
||||||
val presets = listOf(
|
val presets = if (isNeutralPalette) {
|
||||||
stringResource(R.string.patch_waze_color_waze_default),
|
listOf(
|
||||||
stringResource(R.string.patch_waze_color_tidal_cyan),
|
stringResource(R.string.patch_color_neutral),
|
||||||
stringResource(R.string.patch_waze_color_material_you),
|
stringResource(R.string.patch_color_green),
|
||||||
)
|
stringResource(R.string.patch_color_cyan),
|
||||||
val presetColors = listOf(WAZE_DEFAULT, TIDAL_CYAN, materialYouColor)
|
)
|
||||||
|
} else {
|
||||||
|
listOf(
|
||||||
|
stringResource(R.string.patch_waze_color_waze_default),
|
||||||
|
stringResource(R.string.patch_waze_color_tidal_cyan),
|
||||||
|
stringResource(R.string.patch_waze_color_material_you),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
val presetColors = if (isNeutralPalette) {
|
||||||
|
listOf(NEUTRAL, GREEN, CYAN)
|
||||||
|
} else {
|
||||||
|
listOf(
|
||||||
|
defaultColor.withOpaqueAlpha(),
|
||||||
|
TIDAL_CYAN,
|
||||||
|
MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha(),
|
||||||
|
)
|
||||||
|
}
|
||||||
val selectedPreset = presetColors.indexOf(selectedColor)
|
val selectedPreset = presetColors.indexOf(selectedColor)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
@@ -475,6 +497,12 @@ private fun ColorOptionRow(
|
|||||||
style = MaterialTheme.typography.labelLarge,
|
style = MaterialTheme.typography.labelLarge,
|
||||||
color = MaterialTheme.colorScheme.primary,
|
color = MaterialTheme.colorScheme.primary,
|
||||||
)
|
)
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(R.drawable.ic_edit),
|
||||||
|
contentDescription = stringResource(R.string.patch_color_edit),
|
||||||
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
modifier = Modifier.size(18.dp),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
RadiantSegmented(
|
RadiantSegmented(
|
||||||
options = presets,
|
options = presets,
|
||||||
@@ -588,7 +616,9 @@ private fun formatSliderValue(option: OptionSpec.Slider, value: Float): String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private const val OPAQUE_ALPHA = -0x1000000
|
private const val OPAQUE_ALPHA = -0x1000000
|
||||||
private const val WAZE_DEFAULT = -16747037 // #ff0075e3
|
private const val NEUTRAL = -14408663 // #ff242429
|
||||||
|
private const val GREEN = -14749031 // #ff1ef299
|
||||||
|
private const val CYAN = -14748953 // #ff1ef2e7
|
||||||
private const val TIDAL_CYAN = -14549268 // #ff21feec
|
private const val TIDAL_CYAN = -14549268 // #ff21feec
|
||||||
|
|
||||||
private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA
|
private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA
|
||||||
|
|||||||
+40
-15
@@ -33,6 +33,8 @@ import com.meowarex.rlmobile.ui.components.radiant.RadiantDialog
|
|||||||
import com.meowarex.rlmobile.ui.theme.radiantSurface
|
import com.meowarex.rlmobile.ui.theme.radiantSurface
|
||||||
import com.meowarex.rlmobile.ui.theme.glassSurface
|
import com.meowarex.rlmobile.ui.theme.glassSurface
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
import com.meowarex.rlmobile.ui.screens.patchopts.OptionSpec
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.conflictingChoices
|
||||||
|
import com.meowarex.rlmobile.ui.screens.patchopts.isInline
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchLock
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchLock
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptionState
|
||||||
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptions
|
import com.meowarex.rlmobile.ui.screens.patchopts.PatchOptions
|
||||||
@@ -134,11 +136,9 @@ fun PatchSelectionAccordion(
|
|||||||
val checked = isEnabled(patch)
|
val checked = isEnabled(patch)
|
||||||
val lock = lockState(patch)
|
val lock = lockState(patch)
|
||||||
|
|
||||||
val inlineToggles = patch.advancedOptions
|
val inlineOptions = patch.advancedOptions.filter { it.isInline }
|
||||||
.filterIsInstance<OptionSpec.Toggle>()
|
val hasSheetOptions = patch.advancedOptions.any { !it.isInline }
|
||||||
.filter { it.inline }
|
val hasSettings = patch.variants.isNotEmpty() || inlineOptions.isNotEmpty() || hasSheetOptions
|
||||||
val hasSheetOptions = patch.advancedOptions.any { it !is OptionSpec.Toggle || !it.inline }
|
|
||||||
val hasSettings = patch.variants.isNotEmpty() || inlineToggles.isNotEmpty() || hasSheetOptions
|
|
||||||
|
|
||||||
// When a patch is enabled and has settings show a carded view of the settings
|
// When a patch is enabled and has settings show a carded view of the settings
|
||||||
val carded = checked && hasSettings
|
val carded = checked && hasSettings
|
||||||
@@ -189,16 +189,41 @@ fun PatchSelectionAccordion(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (option in inlineToggles) key(option.key) {
|
for (option in inlineOptions) key(option.key) {
|
||||||
val show = option.requiresVariant == null ||
|
when (option) {
|
||||||
option.requiresVariant == resolvedVariant
|
is OptionSpec.Toggle -> {
|
||||||
if (show) {
|
val show = option.requiresVariant == null ||
|
||||||
InlineToggleRow(
|
option.requiresVariant == resolvedVariant
|
||||||
title = option.title,
|
if (show) {
|
||||||
description = option.description,
|
InlineToggleRow(
|
||||||
checked = optionState.toggle(patch, option),
|
title = option.title,
|
||||||
onCheckedChange = { optionState.setToggle(patch, option, it) },
|
description = option.description,
|
||||||
)
|
checked = optionState.toggle(patch, option),
|
||||||
|
onCheckedChange = { optionState.setToggle(patch, option, it) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
is OptionSpec.Choice -> {
|
||||||
|
val requiredToggle = option.requiresOption?.let { key ->
|
||||||
|
patch.advancedOptions.filterIsInstance<OptionSpec.Toggle>()
|
||||||
|
.firstOrNull { it.key == key }
|
||||||
|
}
|
||||||
|
if (requiredToggle == null || optionState.toggle(patch, requiredToggle)) {
|
||||||
|
ChoiceOptionRow(
|
||||||
|
title = option.title,
|
||||||
|
description = option.description,
|
||||||
|
entries = option.entries,
|
||||||
|
selectedIndex = optionState.choice(patch, option),
|
||||||
|
forceDropdown = option.forceDropdown,
|
||||||
|
disabledIndices = patch.conflictingChoices(option)
|
||||||
|
.map { optionState.choice(patch, it) }
|
||||||
|
.filter { it != 0 }
|
||||||
|
.toSet(),
|
||||||
|
onSelect = { optionState.setChoice(patch, option, it) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="960"
|
||||||
|
android:viewportHeight="960">
|
||||||
|
<path
|
||||||
|
android:fillColor="#e8eaed"
|
||||||
|
android:pathData="M200,760h57l391,-391l-57,-57l-391,391v57zM160,840q-17,0 -28.5,-11.5T120,800v-97q0,-16 6,-30.5t17,-25.5l505,-504q12,-11 26.5,-17t30.5,-6q16,0 31,6t26,18l55,56q12,11 17.5,26t5.5,30q0,16 -5.5,30.5T817,313L313,817q-11,11 -25.5,17t-30.5,6h-97zM760,256l-56,-56l56,56zM619,341l-28,-29l57,57l-29,-28z" />
|
||||||
|
</vector>
|
||||||
@@ -305,12 +305,16 @@
|
|||||||
<string name="patch_waze_browse_root_title">Media Menu</string>
|
<string name="patch_waze_browse_root_title">Media Menu</string>
|
||||||
<string name="patch_waze_accent_color_title">Accent Color</string>
|
<string name="patch_waze_accent_color_title">Accent Color</string>
|
||||||
<string name="patch_waze_color_waze_default">Waze Default</string>
|
<string name="patch_waze_color_waze_default">Waze Default</string>
|
||||||
|
<string name="patch_color_neutral">Neutral</string>
|
||||||
|
<string name="patch_color_green">Green</string>
|
||||||
|
<string name="patch_color_cyan">Cyan</string>
|
||||||
<string name="patch_waze_color_tidal_cyan">TIDAL Cyan</string>
|
<string name="patch_waze_color_tidal_cyan">TIDAL Cyan</string>
|
||||||
<string name="patch_waze_color_material_you">Material You</string>
|
<string name="patch_waze_color_material_you">Material You</string>
|
||||||
<string name="patch_waze_root_auto">Auto Menu</string>
|
<string name="patch_waze_root_auto">Auto Menu</string>
|
||||||
<string name="patch_waze_root_home">Home</string>
|
<string name="patch_waze_root_home">Home</string>
|
||||||
<string name="patch_waze_root_recents">Recents</string>
|
<string name="patch_waze_root_recents">Recents</string>
|
||||||
<string name="patch_color_picker_title">Custom color</string>
|
<string name="patch_color_picker_title">Custom color</string>
|
||||||
|
<string name="patch_color_edit">Choose custom color</string>
|
||||||
<string name="patch_color_picker_hex">Hex color</string>
|
<string name="patch_color_picker_hex">Hex color</string>
|
||||||
<string name="patch_color_picker_hex_error">Use #RRGGBB or #AARRGGBB.</string>
|
<string name="patch_color_picker_hex_error">Use #RRGGBB or #AARRGGBB.</string>
|
||||||
<string name="patch_enable_legacy_ui_title">Enable Legacy UI</string>
|
<string name="patch_enable_legacy_ui_title">Enable Legacy UI</string>
|
||||||
|
|||||||
@@ -0,0 +1,973 @@
|
|||||||
|
# R8 Symbol Map - TIDAL 2.200.0-10004
|
||||||
|
|
||||||
|
Maintained by hand. Snapshot of the tree as of TIDAL 2.200.0-10004 - counts and line
|
||||||
|
numbers in section 4 drift as patches are edited, so treat them as a starting point
|
||||||
|
rather than gospel, and re-check with `grep -rn 'MARKER: R8'`.
|
||||||
|
|
||||||
|
Every identifier below is **renamed by R8 on each TIDAL build** and has to be re-derived
|
||||||
|
when bumping the target APK. This file is the checklist for that sweep.
|
||||||
|
|
||||||
|
In `extension/**/*.smali` and `tools/kawarp-build/**/*.java` each occurrence also carries
|
||||||
|
an inline `MARKER: R8 <symbol>` comment, so `grep -rn 'MARKER: R8'` finds them in place.
|
||||||
|
Smali comments are stripped by the assembler - verified by round-tripping the whole tree
|
||||||
|
through `smali a` + `baksmali d`, which reproduced the unannotated bytecode exactly.
|
||||||
|
|
||||||
|
**`.patch` files are deliberately NOT annotated inline.** A comment on a context or
|
||||||
|
removed line changes the text `applyPatchFuzzy` matches against and makes the hunk
|
||||||
|
unlocatable (`Fuzzy match failed: could not locate context for hunk near line N`).
|
||||||
|
Comments on added `+` lines are unsafe too, because several patches stack on the same
|
||||||
|
target class (8 hook `PlayerScreenKt.smali` alone), so one patch's output is another's
|
||||||
|
context. Section 4 lists those occurrences by line number instead.
|
||||||
|
|
||||||
|
## Re-deriving after a TIDAL bump
|
||||||
|
|
||||||
|
1. baksmali the new APK.
|
||||||
|
2. For **members** (section 2) the owner class name is usually stable - open the new owner
|
||||||
|
and match on the descriptor, which R8 does not change. That pins the new member name.
|
||||||
|
3. For **classes** (section 1) match on shape: superclass, interfaces, method descriptors.
|
||||||
|
4. Apply each rename everywhere, re-run the patch set, and check for failed hunks.
|
||||||
|
5. Update the `TIDAL <version>` in the heading above once the sweep is done.
|
||||||
|
|
||||||
|
## Gotcha: extension classes that are themselves patch targets
|
||||||
|
|
||||||
|
`player-backdrop-kawarp.patch` has `--- a/radiant/HomeBackdrop.smali` - it patches one of our
|
||||||
|
own extension classes, not a TIDAL class. For those files the extension smali IS the patch's
|
||||||
|
match target, so a marker comment on a context or removed line breaks the hunk exactly like it
|
||||||
|
would in a `.patch` file (`Fuzzy match failed: could not locate context for hunk near line N`).
|
||||||
|
|
||||||
|
`extension/radiant/HomeBackdrop.smali` is therefore deliberately left unmarked. Before marking
|
||||||
|
any extension file, check it is not a patch target:
|
||||||
|
|
||||||
|
grep -rn '^--- a/radiant/\|^--- a/dev/' --include=*.patch patches/
|
||||||
|
|
||||||
|
## Gotcha: `tools/kawarp-build/build.sh` drops markers
|
||||||
|
|
||||||
|
That script regenerates `extension/radiant/Kawarp.smali` and
|
||||||
|
`extension/dev/kawarp/KawarpEngine.smali` from the Java sources on every run, so any
|
||||||
|
`MARKER: R8` comments in those two files are lost. After running it, re-mark them
|
||||||
|
(`Kawarp.smali` had 39 marked lines) or the Kawarp half of this map goes stale silently.
|
||||||
|
The Java side under `tools/kawarp-build/{src,stubs}` is not regenerated and keeps its
|
||||||
|
markers.
|
||||||
|
|
||||||
|
## 1. Rolled class references (268)
|
||||||
|
|
||||||
|
| symbol | uses | referenced from |
|
||||||
|
|---|---:|---|
|
||||||
|
| `Lam0/l;` | 246 | `extension/radiant/Kawarp.smali`, `extension/radiant/MiniPlayerBackground.smali`, `extension/radiant/MiniSeekerFloating.smali` +31 more |
|
||||||
|
| `Lh4/a;` | 152 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/FeedResolver.smali` +6 more |
|
||||||
|
| `Lkotlin/u;` | 109 | `extension/radiant/Kawarp.smali`, `extension/radiant/MiniSeekerFloating.smali`, `extension/radiant/NoOp.smali` +22 more |
|
||||||
|
| `Lam0/a;` | 74 | `extension/radiant/HomeBackdrop.smali`, `extension/radiant/Kawarp.smali`, `extension/radiant/NoOp.smali` +10 more |
|
||||||
|
| `Lcf/b;` | 60 | `extension/radiant/gestures/queue/MyPlaylistsResolver.smali`, `extension/radiant/gestures/queue/SearchPlaylistsResolver.smali` |
|
||||||
|
| `Lm40/e$e;` | 49 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueueAction.smali`, `extension/radiant/gestures/queue/CompactGridMediaQueueAction.smali`, `extension/radiant/gestures/queue/DynamicTrackQueueAction.smali` +3 more |
|
||||||
|
| `Lh40/p;` | 46 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` +2 more |
|
||||||
|
| `Lo6/b;` | 46 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lzc/a;` | 44 | `extension/radiant/gestures/queue/MyAlbumsResolver.smali`, `extension/radiant/gestures/queue/SearchAlbumsResolver.smali` |
|
||||||
|
| `La50/b;` | 42 | `extension/radiant/gestures/queue/FeedResolver.smali`, `extension/radiant/gestures/queue/PlaylistItemsResolver.smali`, `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/c;` | 42 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Lu5/b$a;` | 40 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali`, `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `La50/d;` | 38 | `extension/radiant/gestures/queue/MyAlbumsResolver.smali`, `extension/radiant/gestures/queue/MyMixesAndRadioResolver.smali`, `extension/radiant/gestures/queue/MyPlaylistsResolver.smali` +3 more |
|
||||||
|
| `Le5/z$n2;` | 36 | `extension/radiant/MiniSeekerLine.smali`, `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lo6/b$a;` | 36 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lm40/e$d;` | 32 | `extension/radiant/gestures/queue/CompactGridMediaQueueAction.smali`, `extension/radiant/gestures/queue/PublicPlaylistQueueAction.smali`, `extension/radiant/gestures/queue/VerticalMediaQueueAction.smali` +1 more |
|
||||||
|
| `Lc60/r$b;` | 30 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Lu5/b$a$b;` | 30 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali`, `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lbm/k;` | 28 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcoil/request/b;` | 28 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lbm/a;` | 26 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lm40/e$a;` | 26 | `extension/radiant/gestures/queue/CompactGridMediaQueueAction.smali`, `extension/radiant/gestures/queue/VerticalMediaQueueAction.smali` |
|
||||||
|
| `Lm40/e$c;` | 26 | `extension/radiant/gestures/queue/CompactGridMediaQueueAction.smali`, `extension/radiant/gestures/queue/VerticalMediaQueueAction.smali` |
|
||||||
|
| `Lve/a;` | 26 | `extension/radiant/gestures/queue/MyMixesAndRadioResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | 25 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali`, `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/ComposeSearchQueue.smali` +8 more |
|
||||||
|
| `Lbm/f;` | 24 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lbm/g;` | 24 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lh40/j;` | 24 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lb80/a;` | 22 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lb80/c;` | 20 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lo6/i;` | 20 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lf20/a;` | 19 | `extension/radiant/QualityBadge.smali`, `gestures/mini-player/mini-player-left-right-gesture.patch`, `gestures/mini-player/mini-player-up-gesture.patch` |
|
||||||
|
| `Lb80/d;` | 18 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lc60/r;` | 18 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lh40/a;` | 18 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lh40/i;` | 18 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lm40/e;` | 18 | `extension/radiant/gestures/queue/CompactGridMediaQueueAction.smali`, `extension/radiant/gestures/queue/VerticalMediaQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lx40/a;` | 17 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/FeedResolver.smali` +5 more |
|
||||||
|
| `Lc60/b0;` | 16 | `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Lc60/d;` | 16 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/core/adapterdelegate/c;` | 16 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/r$c;` | 16 | `extension/com/tidal/android/feature/appscaffold/ui/r$c.smali`, `extension/radiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture.smali`, `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `Le5/c;` | 16 | `extension/radiant/MiniSeekerLine.smali`, `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lgh/j;` | 16 | `extension/radiant/MiniSeekerLine.smali` |
|
||||||
|
| `Lc60/c0;` | 14 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lc60/f;` | 14 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lcoil/f;` | 14 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lh40/n;` | 14 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` +2 more |
|
||||||
|
| `Lpb0/b;` | 14 | `extension/radiant/gestures/queue/ComposeSearchQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lu5/b$a$a;` | 14 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali`, `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;` | 13 | `extension/radiant/gestures/queue/SuggestionsResolver.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lc60/v;` | 12 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/h;` | 12 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/d;` | 12 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcom/tidal/android/navigation/a;` | 12 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` +2 more |
|
||||||
|
| `Lh9/p1;` | 12 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lie0/i;` | 12 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` +2 more |
|
||||||
|
| `Lo3/a$a;` | 12 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lo3/a;` | 12 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lu3/a$a;` | 12 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lu3/a;` | 12 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/l;` | 11 | `extension/radiant/gestures/queue/SuggestionsResolver.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lq20/c2;` | 11 | `extension/radiant/QualityBadge.smali`, `player-move-playing-from.patch`, `player-quality-badge-colors.patch` |
|
||||||
|
| `Lql0/a;` | 11 | `extension/radiant/MiniSeekerLine.smali`, `extension/radiant/gestures/queue/QueueExecutor.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lc60/h;` | 10 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Lcoil/request/h$a;` | 10 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;` | 10 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/player/d;` | 10 | `extension/radiant/gestures/queue/QueueExecutor.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/a;` | 10 | `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/g1;` | 10 | `extension/radiant/gestures/queue/QueueExecutor.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/b;` | 10 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/f;` | 10 | `extension/radiant/RLAPILyricsWorker.smali`, `lyrics-rl-api-syllable.patch`, `lyrics-rl-api-word.patch` |
|
||||||
|
| `Li60/c;` | 10 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `extension/radiant/gestures/queue/DynamicTrackQueue.smali` |
|
||||||
|
| `Ltl/h;` | 10 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcoil/request/h;` | 9 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | 9 | `lyrics-disable-cover.patch`, `lyrics-replace-lyrics-button.patch`, `lyrics-replace-share-button.patch` +3 more |
|
||||||
|
| `Lpb0/b$a;` | 9 | `extension/radiant/gestures/queue/ComposeSearchQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lpb0/b$e;` | 9 | `extension/radiant/gestures/queue/ComposeSearchQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lpb0/b$f;` | 9 | `extension/radiant/gestures/queue/ComposeSearchQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lpb0/b$i;` | 9 | `extension/radiant/gestures/queue/ComposeSearchQueueAction.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `La80/c;` | 8 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/b$b;` | 8 | `extension/radiant/gestures/miniplayer/MiniPlayerGestures$Gesture.smali`, `extension/radiant/gestures/miniplayer/MiniPlayerGestures.smali`, `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;` | 8 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;` | 8 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/i$a;` | 8 | `player-quality-badge-colors.patch` |
|
||||||
|
| `Ldagger/internal/f;` | 8 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lfd/c;` | 8 | `extension/radiant/gestures/queue/MyAlbumsResolver.smali` |
|
||||||
|
| `Li40/c$b;` | 8 | `extension/radiant/gestures/queue/ViewAllTrackQueueAction.smali` |
|
||||||
|
| `Lie0/h;` | 8 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lld/c;` | 8 | `extension/radiant/gestures/queue/SearchAlbumsResolver.smali` |
|
||||||
|
| `Lpe/f;` | 8 | `extension/radiant/gestures/queue/MyMixesAndRadioResolver.smali` |
|
||||||
|
| `Ltl/q;` | 8 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lu5/g;` | 8 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali` |
|
||||||
|
| `Lv9/e;` | 8 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Lbi/e;` | 7 | `extension/radiant/RLAPILyricsWorker.smali`, `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/p3;` | 7 | `extension/radiant/HomeBackdrop.smali`, `extension/radiant/Kawarp.smali`, `player-backdrop-kawarp.patch` +1 more |
|
||||||
|
| `Lm3/f;` | 7 | `extension/radiant/gestures/queue/QueueExecutor.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lam0/p;` | 6 | `extension/radiant/SparkleButton.smali`, `extension/radiant/SparkleContent.smali`, `mini-player-black.patch` +1 more |
|
||||||
|
| `Lc3/h;` | 6 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lc60/s;` | 6 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lce0/b$a;` | 6 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/f;` | 6 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;` | 6 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;` | 6 | `extension/radiant/gestures/queue/DynamicMediaQueue.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/b$a;` | 6 | `extension/radiant/gestures/miniplayer/MiniPlayerGestures.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/r;` | 6 | `extension/com/tidal/android/feature/appscaffold/ui/r$c.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/c;` | 6 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/f2;` | 6 | `lyrics-rl-api-syllable.patch`, `lyrics-rl-api-word.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/e$c;` | 6 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali` |
|
||||||
|
| `Lf20/d;` | 6 | `extension/radiant/QualityBadge.smali` |
|
||||||
|
| `Lgh/b;` | 6 | `extension/radiant/SeekerConsumer.smali` |
|
||||||
|
| `Lhf/c;` | 6 | `extension/radiant/gestures/queue/MyPlaylistsResolver.smali` |
|
||||||
|
| `Lie0/a;` | 6 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lie0/g;` | 6 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lm3/d;` | 6 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lm3/f$a;` | 6 | `extension/radiant/gestures/queue/QueueExecutor.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lmb0/a;` | 6 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Ln8/d;` | 6 | `extension/radiant/gestures/queue/FavoriteTracksResolver.smali` |
|
||||||
|
| `Lpd0/a;` | 6 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali` |
|
||||||
|
| `Lq20/u1;` | 6 | `extension/radiant/SparkleButton.smali` |
|
||||||
|
| `Lra/d;` | 6 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali` |
|
||||||
|
| `Lxd0/g;` | 6 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/g$c;` | 5 | `extension/radiant/RLAPILyricsWorker.smali`, `lyrics-rl-api-observer.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/p;` | 5 | `lyrics-replace-lyrics-button.patch`, `lyrics-sparkle-conditional-visibility.patch`, `player-hide-playing-from.patch` +1 more |
|
||||||
|
| `Lb0/c;` | 4 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lbm/h;` | 4 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lc3/i$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lc3/i;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lc3/l$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lc3/l;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lce0/b;` | 4 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/h;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/u;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/core/k;` | 4 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali`, `extension/radiant/gestures/queue/DynamicMediaQueue.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;` | 4 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;` | 4 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;` | 4 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playback/e0;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playback/f;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playback/k0;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/d1;` | 4 | `extension/radiant/MiniSeekerLine.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/u0;` | 4 | `extension/radiant/RLAPILyricsWorker.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/a$g;` | 4 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/k$a;` | 4 | `extension/radiant/SparkleButton.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;` | 4 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueueAction.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;` | 4 | `extension/radiant/gestures/queue/DynamicTrackQueueAction.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;` | 4 | `extension/radiant/gestures/queue/VerticalMediaQueueAction.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/q;` | 4 | `cover-capture.patch`, `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/f;` | 4 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/c;` | 4 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/image/core/b$a;` | 4 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Ld0/c$a;` | 4 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lj3/k$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lj3/k;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lj3/n$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lj3/n;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lj3/q$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lj3/q;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lm3/i$a;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lm3/i;` | 4 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lmb0/e;` | 4 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Lvn0/b;` | 4 | `extension/radiant/RLAPILyricsWorker.smali` |
|
||||||
|
| `Lz70/a;` | 4 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lzf/c;` | 4 | `extension/radiant/gestures/queue/SearchPlaylistsResolver.smali` |
|
||||||
|
| `Landroidx/navigation/f0;` | 3 | `gestures/mini-player/mini-player-left-right-gesture.patch`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Landroidx/window/embedding/a2;` | 3 | `lyrics-replace-lyrics-button.patch`, `lyrics-sparkle-conditional-visibility.patch` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;` | 3 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/r$a;` | 3 | `extension/radiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/t;` | 3 | `gestures/mini-player/mini-player-left-right-gesture.patch`, `gestures/mini-player/mini-player-up-gesture.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/b;` | 3 | `lyrics-replace-share-button.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/e;` | 3 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali`, `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/image/core/b$h$a;` | 3 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Ldagger/internal/j;` | 3 | `extension/radiant/MiniSeekerLine.smali`, `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lkotlin/jvm/internal/n;` | 3 | `integration-waze-playback.patch` |
|
||||||
|
| `La30/a;` | 2 | `player-favorite-heart.patch` |
|
||||||
|
| `Lad/f;` | 2 | `extension/radiant/gestures/queue/MyAlbumsResolver.smali` |
|
||||||
|
| `Lam0/q;` | 2 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Landroidx/window/embedding/b2;` | 2 | `lyrics-replace-share-button.patch` |
|
||||||
|
| `Lbd/d$a;` | 2 | `extension/radiant/gestures/queue/MyAlbumsResolver.smali` |
|
||||||
|
| `Lbm/i;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcoil/request/d;` | 2 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/menu/track/c;` | 2 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/menu/track/d;` | 2 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h;` | 2 | `extension/radiant/gestures/queue/MyPlaylistsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/i;` | 2 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/j;` | 2 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/y$a;` | 2 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/a;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lcom/aspiro/wamp/util/h0;` | 2 | `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` |
|
||||||
|
| `Lcom/squareup/ui/market/components/n;` | 2 | `extension/radiant/SparkleButton.smali` |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/k;` | 2 | `extension/radiant/SparkleButton.smali` |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/z;` | 2 | `extension/radiant/SparkleButton.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;` | 2 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b;` | 2 | `extension/radiant/gestures/queue/ArtistTrackCreditsQueueEvent.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b;` | 2 | `extension/radiant/gestures/queue/DynamicMediaQueueEvent.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b;` | 2 | `extension/radiant/gestures/queue/DynamicTrackQueueEvent.smali` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b;` | 2 | `extension/radiant/gestures/queue/DynamicMediaQueueEvent.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/composable/a;` | 2 | `mini-player-black.patch`, `mini-player-dynamic-bg.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/s3;` | 2 | `lyrics-replace-lyrics-button.patch`, `lyrics-sparkle-conditional-visibility.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/d;` | 2 | `lyrics-disable-cover.patch`, `player-move-playing-from.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/e0;` | 2 | `lyrics-replace-share-button.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/g;` | 2 | `lyrics-disable-cover.patch`, `lyrics-progress-pill.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/b;` | 2 | `extension/radiant/gestures/queue/ComposeSearchQueueEvent.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/e;` | 2 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/u;` | 2 | `extension/radiant/gestures/queue/ViewAllTrackQueue.smali` |
|
||||||
|
| `Lcom/tidal/android/image/coil/c;` | 2 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lcom/tidal/android/image/core/b;` | 2 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Ldf/d$a;` | 2 | `extension/radiant/gestures/queue/MyPlaylistsResolver.smali` |
|
||||||
|
| `Lhu/akarnokd/rxjava/interop/f;` | 2 | `extension/radiant/gestures/queue/QueueExecutor.smali` |
|
||||||
|
| `Lid/e;` | 2 | `extension/radiant/gestures/queue/SearchAlbumsResolver.smali` |
|
||||||
|
| `Lij/a0$a;` | 2 | `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` |
|
||||||
|
| `Lij/j0$a;` | 2 | `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` |
|
||||||
|
| `Lij/q$a;` | 2 | `extension/radiant/gestures/queue/PlaylistItemsResolver.smali` |
|
||||||
|
| `Ljd/d$a;` | 2 | `extension/radiant/gestures/queue/SearchAlbumsResolver.smali` |
|
||||||
|
| `Lk5/f;` | 2 | `extension/radiant/gestures/queue/AlbumItemQueueAction.smali` |
|
||||||
|
| `Lkotlin/collections/u;` | 2 | `extension/radiant/gestures/queue/SuggestionsResolver.smali` |
|
||||||
|
| `Lkotlin/coroutines/e;` | 2 | `extension/radiant/gestures/lyrics/LyricsDrag$Guard.smali` |
|
||||||
|
| `Lkotlin/coroutines/h;` | 2 | `extension/radiant/MiniPlayerBackground.smali` |
|
||||||
|
| `Lkotlin/i;` | 2 | `mini-player-dynamic-bg.patch` |
|
||||||
|
| `Lmb0/f;` | 2 | `extension/radiant/gestures/queue/ComposeSearchQueue.smali` |
|
||||||
|
| `Lo4/g;` | 2 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lo50/a;` | 2 | `debug-menu-unlock.patch` |
|
||||||
|
| `Lp7/a$a;` | 2 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lq20/r4;` | 2 | `extension/radiant/QualityBadge.smali` |
|
||||||
|
| `Lq20/s4;` | 2 | `extension/radiant/QualityBadge.smali` |
|
||||||
|
| `Lqe/c$a;` | 2 | `extension/radiant/gestures/queue/MyMixesAndRadioResolver.smali` |
|
||||||
|
| `Ltl/f;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lul/a0$a;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lul/d$a;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lul/n0$a;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lul/w$a;` | 2 | `extension/radiant/gestures/queue/UnifiedSearchResolver.smali` |
|
||||||
|
| `Lv6/e$a;` | 2 | `extension/radiant/gestures/queue/DynamicTrackResolver.smali` |
|
||||||
|
| `Lv70/b;` | 2 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lvn0/a;` | 2 | `extension/radiant/RLAPILyricsWorker.smali` |
|
||||||
|
| `Lw70/c$a;` | 2 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lw70/h$a;` | 2 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lw70/k$a;` | 2 | `extension/radiant/gestures/queue/FeedResolver.smali` |
|
||||||
|
| `Lwf/d;` | 2 | `extension/radiant/gestures/queue/SearchPlaylistsResolver.smali` |
|
||||||
|
| `Lxd0/e;` | 2 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lxd0/f;` | 2 | `extension/radiant/Kawarp.smali` |
|
||||||
|
| `Lxf/d$a;` | 2 | `extension/radiant/gestures/queue/SearchPlaylistsResolver.smali` |
|
||||||
|
| `La30/b;` | 1 | `player-favorite-heart.patch` |
|
||||||
|
| `Landroidx/compose/foundation/text/input/a;` | 1 | `player-backdrop-playback.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/n;` | 1 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/l;` | 1 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/a;` | 1 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lcom/squareup/ui/market/layout/e;` | 1 | `player-backdrop-playback.patch` |
|
||||||
|
| `Lcom/squareup/ui/market/text/a;` | 1 | `player-move-playing-from.patch` |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/composables/verticallistcard/m;` | 1 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/composable/g;` | 1 | `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/b0;` | 1 | `lyrics-disable-cover.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/e5;` | 1 | `lyrics-replace-share-button.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/k1;` | 1 | `lyrics-replace-lyrics-button.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/o1;` | 1 | `lyrics-fade-region.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/t4;` | 1 | `player-quality-badge-colors.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/g$a;` | 1 | `lyrics-disable-cover.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/e$a;` | 1 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/n;` | 1 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lcom/tidal/android/featureflags/n;` | 1 | `debug-menu-unlock.patch` |
|
||||||
|
| `Lcom/tidal/android/tidalapi/domain/model/o;` | 1 | `lyrics-rl-api-isrc.patch` |
|
||||||
|
| `Lde0/c;` | 1 | `player-backdrop-playback.patch` |
|
||||||
|
| `Lmb/f;` | 1 | `integration-waze-playback.patch` |
|
||||||
|
| `Ln8/b;` | 1 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lo4/g$e;` | 1 | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `Lob0/q;` | 1 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `Lob0/w;` | 1 | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
|
||||||
|
## 2. Rolled members on otherwise-stable classes (347)
|
||||||
|
|
||||||
|
The owner name survives R8; only the member name rolls. Match on the descriptor.
|
||||||
|
|
||||||
|
| owner | member | descriptor | uses |
|
||||||
|
|---|---|---|---:|
|
||||||
|
| `Lcom/aspiro/wamp/App$a;` | `a` | `()Lcom/aspiro/wamp/App;` | 8 |
|
||||||
|
| `Lcom/aspiro/wamp/App;` | `e` | `()Le5/c;` | 8 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;` | `a` | `(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;` | 8 |
|
||||||
|
| `Lm40/e$e;` | `a` | `:J` | 8 |
|
||||||
|
| `La50/b;` | `b` | `:Ljava/util/ArrayList;` | 7 |
|
||||||
|
| `Lcf/b;` | `a` | `:Lcom/aspiro/wamp/model/Playlist;` | 6 |
|
||||||
|
| `Lcom/tidal/android/navigation/a;` | `b` | `(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node;` | 6 |
|
||||||
|
| `Lie0/i;` | `a` | `(Lh40/p;)Lcom/aspiro/wamp/model/Track;` | 6 |
|
||||||
|
| `Lo6/b;` | `c` | `:Lo6/b$a;` | 6 |
|
||||||
|
| `Lzc/a;` | `b` | `:Lcom/aspiro/wamp/model/Album;` | 6 |
|
||||||
|
| `Lc60/r$b;` | `a` | `:Lh40/n;` | 5 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `j` | `(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;` | 5 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/c;` | `b` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 5 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `P` | `:Lkotlinx/coroutines/flow/MutableStateFlow;` | 5 |
|
||||||
|
| `Li60/c;` | `c` | `(Ljava/lang/String;)Lc60/h;` | 5 |
|
||||||
|
| `Lm40/e$e;` | `j` | `:Z` | 5 |
|
||||||
|
| `Lo6/b$a;` | `q` | `:Ljava/lang/String;` | 5 |
|
||||||
|
| `Lo6/b;` | `a` | `:Lo6/i;` | 5 |
|
||||||
|
| `Lbm/a;` | `a` | `:Lcom/aspiro/wamp/model/Album;` | 4 |
|
||||||
|
| `Lbm/f;` | `a` | `:Lcom/aspiro/wamp/mix/model/Mix;` | 4 |
|
||||||
|
| `Lbm/g;` | `a` | `:Lcom/aspiro/wamp/model/Playlist;` | 4 |
|
||||||
|
| `Lbm/k;` | `a` | `:Lcom/aspiro/wamp/model/Track;` | 4 |
|
||||||
|
| `Lcf/b;` | `h` | `:Z` | 4 |
|
||||||
|
| `Lcf/b;` | `f` | `:Z` | 4 |
|
||||||
|
| `Lcf/b;` | `g` | `:Ljava/lang/String;` | 4 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `o` | `(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;` | 4 |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/UnifiedSearchView;` | `N` | `()Ltl/h;` | 4 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/f;` | `a` | `:Ljava/lang/String;` | 4 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | `m` | `:Lcom/tidal/android/feature/playerscreen/ui/p;` | 4 |
|
||||||
|
| `Lh40/p;` | `a` | `:J` | 4 |
|
||||||
|
| `Lie0/h;` | `a` | `(Lh40/j;)Lcom/aspiro/wamp/model/Playlist;` | 4 |
|
||||||
|
| `Lo6/b$a;` | `o` | `:I` | 4 |
|
||||||
|
| `Lu5/b$a$b;` | `r` | `:I` | 4 |
|
||||||
|
| `Lu5/b$a;` | `c` | `:Lu5/b$a$b;` | 4 |
|
||||||
|
| `Lzc/a;` | `k` | `:Z` | 4 |
|
||||||
|
| `Lb80/a;` | `a` | `:Lcom/aspiro/wamp/model/Album;` | 3 |
|
||||||
|
| `Lb80/c;` | `a` | `:Lcom/aspiro/wamp/mix/model/Mix;` | 3 |
|
||||||
|
| `Lb80/d;` | `a` | `:Lcom/aspiro/wamp/model/Playlist;` | 3 |
|
||||||
|
| `Lc60/s;` | `a` | `(Lc60/r;)Ljava/lang/String;` | 3 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;` | `i` | `:Z` | 3 |
|
||||||
|
| `Lcom/aspiro/wamp/player/d;` | `b` | `()Lcom/aspiro/wamp/model/MediaItemParent;` | 3 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/g1;` | `a` | `()Lcom/aspiro/wamp/player/d;` | 3 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;` | `a` | `(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;` | 3 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/b$b;` | `a` | `:Lcom/tidal/android/feature/appscaffold/ui/b$b;` | 3 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/r$c;` | `a` | `:Lcom/tidal/android/feature/appscaffold/ui/r$c;` | 3 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/p3;` | `a` | `(ILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V` | 3 |
|
||||||
|
| `Lh4/a;` | `b` | `:Lo3/a$a;` | 3 |
|
||||||
|
| `Lh4/a;` | `h` | `:Lu3/a$a;` | 3 |
|
||||||
|
| `Lie0/a;` | `a` | `(Lh40/a;)Lcom/aspiro/wamp/model/Album;` | 3 |
|
||||||
|
| `Lie0/g;` | `b` | `(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix;` | 3 |
|
||||||
|
| `Lm40/e$d;` | `a` | `:Ljava/lang/String;` | 3 |
|
||||||
|
| `Lm40/e$d;` | `g` | `:Z` | 3 |
|
||||||
|
| `Lo3/a$a;` | `a` | `(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a;` | 3 |
|
||||||
|
| `Lo6/b$a;` | `d` | `:I` | 3 |
|
||||||
|
| `Lu3/a$a;` | `a` | `(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a;` | 3 |
|
||||||
|
| `Lu5/b$a$b;` | `s` | `:Ljava/lang/String;` | 3 |
|
||||||
|
| `Lu5/b$a;` | `a` | `:Lu5/b$a$a;` | 3 |
|
||||||
|
| `Lve/a;` | `c` | `:Lcom/aspiro/wamp/mix/model/Mix;` | 3 |
|
||||||
|
| `Lcoil/request/h$a;` | `b` | `:Lcoil/request/b;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `Y` | `(ILcom/aspiro/wamp/model/FavoriteTrack;)Z` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `d` | `:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `l` | `:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;` | `b` | `(I)Lcom/aspiro/wamp/model/FavoriteTrack;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;` | `f` | `:Landroidx/recyclerview/widget/RecyclerView;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;` | `c` | `:Lpe/f;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;` | `h` | `:Landroid/graphics/drawable/Drawable;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;` | `h` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;` | `c` | `:Lcom/aspiro/wamp/playlist/ui/items/a;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/UnifiedSearchView;` | `g` | `:Lio/reactivex/disposables/CompositeDisposable;` | 2 |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/d;` | `e` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 2 |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/MarketStylesheet$c;` | `p0` | `()Lf20/a;` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/b$a;` | `a` | `:Lcom/tidal/android/feature/appscaffold/ui/b$a;` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/composable/a;` | `c` | `:Landroidx/compose/foundation/shape/RoundedCornerShape;` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;` | `b` | `(Lcom/tidal/android/feature/playerscreen/ui/b;Lam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/f2;` | `b` | `:I` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/f2;` | `d` | `:J` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/f2;` | `e` | `:J` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/p3;` | `b` | `(Lcom/tidal/android/feature/playerscreen/ui/model/PlayerBackgroundStyle;JILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/s3;` | `a` | `(ILam0/a;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;)V` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/i$a;` | `b` | `:I` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/i$a;` | `a` | `:Ljava/lang/String;` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/SearchQuery;` | `a` | `:Ljava/lang/String;` | 2 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;` | `m` | `:Lkotlinx/coroutines/flow/MutableStateFlow;` | 2 |
|
||||||
|
| `Le5/z$n2;` | `r2` | `()Lcom/aspiro/wamp/playqueue/g1;` | 2 |
|
||||||
|
| `Lh9/p1;` | `b` | `:Lx40/a;` | 2 |
|
||||||
|
| `Lm3/f$a;` | `a` | `(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/f;` | 2 |
|
||||||
|
| `Lm3/f;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 2 |
|
||||||
|
| `Lm40/e$a;` | `a` | `:J` | 2 |
|
||||||
|
| `Lm40/e$a;` | `e` | `:Z` | 2 |
|
||||||
|
| `Lm40/e$c;` | `a` | `:Ljava/lang/String;` | 2 |
|
||||||
|
| `Lm40/e$c;` | `h` | `:Z` | 2 |
|
||||||
|
| `Lo50/a;` | `a` | `:Ljava/lang/String;` | 2 |
|
||||||
|
| `Lo6/b;` | `b` | `:J` | 2 |
|
||||||
|
| `Lo6/i;` | `p` | `:Ljava/util/LinkedHashMap;` | 2 |
|
||||||
|
| `Ltl/q;` | `a` | `:Lx40/a;` | 2 |
|
||||||
|
| `Lu5/b$a$b;` | `g` | `:Lcom/aspiro/wamp/model/Availability;` | 2 |
|
||||||
|
| `Lu5/b$a$b;` | `p` | `:Z` | 2 |
|
||||||
|
| `Lu5/b$a;` | `b` | `:J` | 2 |
|
||||||
|
| `Lve/a;` | `f` | `:Z` | 2 |
|
||||||
|
| `Lve/a;` | `a` | `:Ljava/lang/String;` | 2 |
|
||||||
|
| `La30/a;` | `a` | `:I` | 1 |
|
||||||
|
| `La30/b;` | `O` | `:La30/a;` | 1 |
|
||||||
|
| `La80/c;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `La80/c;` | `e` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `La80/c;` | `b` | `:Lx40/a;` | 1 |
|
||||||
|
| `Lb80/a;` | `c` | `:Z` | 1 |
|
||||||
|
| `Lb80/a;` | `g` | `:I` | 1 |
|
||||||
|
| `Lb80/c;` | `c` | `:I` | 1 |
|
||||||
|
| `Lb80/d;` | `c` | `:I` | 1 |
|
||||||
|
| `Lbi/e;` | `i` | `()Z` | 1 |
|
||||||
|
| `Lbi/e;` | `h` | `(Z)V` | 1 |
|
||||||
|
| `Lbm/a;` | `c` | `:Lcom/aspiro/wamp/model/Availability$Album;` | 1 |
|
||||||
|
| `Lbm/i;` | `a` | `(Lbm/h;)Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;` | 1 |
|
||||||
|
| `Lbm/k;` | `e` | `:Lcom/aspiro/wamp/model/Availability$MediaItem;` | 1 |
|
||||||
|
| `Lbm/k;` | `n` | `:Lcom/aspiro/wamp/search/SearchDataSource;` | 1 |
|
||||||
|
| `Lc3/h;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lc3/i$a;` | `a` | `(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/i;` | 1 |
|
||||||
|
| `Lc3/i;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lc3/l$a;` | `a` | `(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/l;` | 1 |
|
||||||
|
| `Lc3/l;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lc60/b0;` | `b` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/b0;` | `f` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lc60/b0;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/b0;` | `e` | `:I` | 1 |
|
||||||
|
| `Lc60/b0;` | `c` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/b0;` | `g` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/c0;` | `b` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/c0;` | `g` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lc60/c0;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/c0;` | `f` | `:I` | 1 |
|
||||||
|
| `Lc60/c0;` | `c` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/d;` | `b` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/d;` | `f` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lc60/d;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/d;` | `e` | `:I` | 1 |
|
||||||
|
| `Lc60/d;` | `c` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/d;` | `g` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/f;` | `b` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/f;` | `g` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lc60/f;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/f;` | `d` | `:I` | 1 |
|
||||||
|
| `Lc60/f;` | `e` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/v;` | `b` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/v;` | `f` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lc60/v;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lc60/v;` | `e` | `:I` | 1 |
|
||||||
|
| `Lce0/b$a;` | `a` | `()Lce0/b;` | 1 |
|
||||||
|
| `Lce0/b;` | `a` | `()Lxd0/e;` | 1 |
|
||||||
|
| `Lcoil/f;` | `b` | `(Lcoil/request/h;)Lcoil/request/d;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `a` | `:Lkotlinx/coroutines/CoroutineDispatcher;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `b` | `:Lkotlinx/coroutines/CoroutineDispatcher;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `c` | `:Lkotlinx/coroutines/CoroutineDispatcher;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `d` | `:Lkotlinx/coroutines/CoroutineDispatcher;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `e` | `:Ld0/c$a;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `f` | `:Lcoil/size/Precision;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `g` | `:Landroid/graphics/Bitmap$Config;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `h` | `:Z` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `i` | `:Lcoil/request/CachePolicy;` | 1 |
|
||||||
|
| `Lcoil/request/b;` | `j` | `:Lcoil/request/CachePolicy;` | 1 |
|
||||||
|
| `Lcoil/request/h$a;` | `d` | `:Lb0/c;` | 1 |
|
||||||
|
| `Lcoil/request/h$a;` | `a` | `()Lcoil/request/h;` | 1 |
|
||||||
|
| `Lcoil/request/h;` | `a` | `(Lcoil/request/h;)Lcoil/request/h$a;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/f;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;` | `a` | `(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/h;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/h;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;` | `a` | `(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/u;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/item/playlist/u;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/menu/track/c;` | `b` | `:Ldagger/internal/j;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/contextmenu/menu/track/d;` | `a` | `:Lcom/aspiro/wamp/contextmenu/menu/track/c;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;` | `h` | `:Lad/f;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;` | `N` | `()La50/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;` | `c` | `:Lfd/c;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;` | `j` | `:Lio/reactivex/disposables/CompositeDisposable;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;` | `f` | `:Lid/e;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;` | `N` | `()La50/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;` | `c` | `:Lld/c;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;` | `g` | `:Lio/reactivex/disposables/CompositeDisposable;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `Z` | `(ILcom/aspiro/wamp/model/FavoriteTrack;I)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `f` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `b` | `:Lx40/a;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `w` | `(Landroidx/recyclerview/widget/RecyclerView;ILandroid/view/View;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;` | `N` | `()Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/n;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;` | `m` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;` | `k` | `:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;` | `N` | `()La50/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;` | `h` | `:Lio/reactivex/disposables/CompositeDisposable;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;` | `j` | `:Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;` | `N` | `()La50/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;` | `d` | `:Lhf/c;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;` | `g` | `:Lwf/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;` | `N` | `()La50/d;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;` | `c` | `:Lzf/c;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;` | `c` | `:Landroid/graphics/drawable/ColorDrawable;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;` | `d` | `:Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl$ActionType;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;` | `o` | `:Ljava/lang/Object;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;` | `j` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/h;` | `d` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/h;` | `c` | `:Lcom/aspiro/wamp/nowplaying/view/suggestions/l;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/j;` | `a` | `(Lcom/aspiro/wamp/nowplaying/view/suggestions/i;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;` | `d` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;` | `c` | `:Lcom/aspiro/wamp/nowplaying/view/suggestions/l;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;` | `M` | `()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playback/e0;` | `a` | `(Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lio/reactivex/disposables/Disposable;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playback/f;` | `a` | `(ILcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lhu/akarnokd/rxjava/interop/f;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playback/k0;` | `c` | `(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;` | `d` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/a;` | `k` | `()Lcom/aspiro/wamp/playlist/viewmodel/PlaylistCollectionViewModel;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/a;` | `c` | `(Lcom/aspiro/wamp/model/Track;)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playlist/ui/items/a;` | `i` | `(I)V` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `c` | `(Lcom/aspiro/wamp/model/Album;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/AlbumSource;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `f` | `(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/PlaylistSource;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `p` | `(Ljava/lang/String;Ljava/util/List;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/playqueue/source/model/b;` | `m` | `(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/MyItemsSource;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/UnifiedSearchView;` | `c` | `:Ltl/q;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/aspiro/wamp/util/h0;` | `c` | `(I)Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/components/MarketIconButtonKt;` | `P` | `(Lcom/squareup/ui/market/core/theme/MarketStylesheet;Lcom/squareup/ui/market/core/components/properties/IconButton$Size;Lcom/squareup/ui/market/core/components/properties/IconButton$Rank;Lcom/squareup/ui/market/core/components/properties/IconButton$Variant;ILjava/lang/Object;)Lq20/u1;` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/components/MarketIconButtonKt;` | `b` | `(Lam0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Lam0/a;Ljava/lang/String;Lq20/u1;Lam0/p;Landroidx/compose/runtime/Composer;II)V` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/components/MarketLabelKt;` | `e` | `(Ljava/lang/String;Landroidx/compose/ui/Modifier;IILcom/squareup/ui/market/text/a;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lam0/l;Lq20/c2;Landroidx/compose/runtime/Composer;II)V` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/k;` | `e` | `:Lcom/squareup/ui/market/core/theme/k$a;` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/core/theme/z;` | `t` | `(Lcom/squareup/ui/market/core/theme/k$a;Landroidx/compose/runtime/Composer;I)Lcom/squareup/ui/market/core/theme/MarketStylesheet;` | 1 |
|
||||||
|
| `Lcom/squareup/ui/market/layout/e;` | `c` | `(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;` | 1 |
|
||||||
|
| `Lcom/tidal/android/core/debug/DebugFeatureInteractorDefault;` | `a` | `:Lcom/tidal/android/featureflags/n;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/c;` | `a` | `:Lcom/aspiro/wamp/core/k;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;` | `b` | `:Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;` | `c` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;` | `b` | `:Lcom/tidal/android/dynamicpages/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;` | `b` | `:Lcom/tidal/android/dynamicpages/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;` | `f` | `:Lam0/q;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;` | `f` | `:Lcom/tidal/android/dynamicpages/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;` | `b` | `:Lcom/tidal/android/dynamicpages/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;` | `e` | `:Lcom/tidal/android/dynamicpages/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/composable/g;` | `a` | `:Lam0/l;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/q;` | `d` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/q;` | `e` | `:Z` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/r$a;` | `a` | `:Lcom/tidal/android/feature/appscaffold/ui/r$a;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/t;` | `b` | `:Lcom/tidal/android/feature/appscaffold/ui/q;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/t;` | `c` | `:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$PlayState;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/appscaffold/ui/t;` | `a` | `:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/FeedView;` | `d` | `:Lv70/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/FeedView;` | `c` | `:La80/c;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/FeedView;` | `f` | `:Lio/reactivex/disposables/CompositeDisposable;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/c;` | `c` | `:Lz70/a;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/feed/ui/viewstates/UpdatedIntervals$a;` | `a` | `(I)Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel$observeLyricsProgress$1$a;` | `a` | `:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `W` | `:Lkotlinx/coroutines/flow/StateFlow;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `Q` | `:Lkotlin/i;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `a` | `:Lbi/e;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `O` | `:Lkotlinx/coroutines/flow/MutableStateFlow;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;` | `K` | `:Lkotlinx/coroutines/flow/MutableStateFlow;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/b0;` | `b` | `:Lcom/tidal/android/feature/playerscreen/ui/s$a;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/CoverPagerKt;` | `c` | `(Lcom/tidal/android/feature/playerscreen/ui/d;Lam0/l;FLandroidx/compose/ui/Modifier;ZLandroidx/compose/runtime/Composer;II)V` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/LyricsKt;` | `a` | `(Lcom/tidal/android/feature/playerscreen/ui/g;Lam0/l;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Lam0/l;Landroidx/compose/runtime/Composer;II)V` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/anim/BouncePressKt;` | `a` | `(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/e5;` | `a` | `(ILam0/a;Landroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;)V` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/k1;` | `a` | `(Landroidx/compose/ui/Modifier;Lam0/a;ZLandroidx/compose/runtime/Composer;I)V` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/o1;` | `a` | `:F` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/composables/t4;` | `g` | `:F` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/g$c;` | `c` | `:I` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/p;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | `j` | `:Lcom/tidal/android/feature/playerscreen/ui/g;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | `d` | `:Lcom/tidal/android/feature/playerscreen/ui/b;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | `i` | `:Z` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/playerscreen/ui/s$a;` | `c` | `:Lcom/tidal/android/feature/playerscreen/ui/d;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;` | `n` | `:Ljava/util/List;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;` | `d` | `:Lcom/tidal/android/feature/search/ui/e;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;` | `f` | `:Lcom/tidal/android/feature/search/ui/f;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/search/ui/f;` | `a` | `(JLh40/p;Ljava/lang/String;)V` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;` | `n` | `:Lcom/tidal/android/feature/viewall/ui/c;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;` | `f` | `:Lcom/tidal/android/feature/viewall/ui/u;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/c;` | `f` | `:Ljava/util/ArrayList;` | 1 |
|
||||||
|
| `Lcom/tidal/android/feature/viewall/ui/e$c;` | `a` | `:Ljava/lang/Object;` | 1 |
|
||||||
|
| `Lcom/tidal/android/image/coil/base/CoilImageLoader;` | `a` | `:Lcoil/f;` | 1 |
|
||||||
|
| `Lcom/tidal/android/image/coil/c;` | `a` | `(Lxd0/g;Landroidx/compose/ui/layout/ContentScale;)Lcoil/request/h;` | 1 |
|
||||||
|
| `Lde0/c;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `z0` | `:Ldagger/internal/j;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `u3` | `()Lcom/aspiro/wamp/playback/f;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `x3` | `()Lcom/aspiro/wamp/playback/e0;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `w8` | `:Ldagger/internal/f;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `y3` | `()Lcom/aspiro/wamp/playback/k0;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `v8` | `:Ldagger/internal/f;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `K9` | `:Ldagger/internal/f;` | 1 |
|
||||||
|
| `Le5/z$n2;` | `k9` | `:Ldagger/internal/f;` | 1 |
|
||||||
|
| `Lfd/c;` | `a` | `:Lx40/a;` | 1 |
|
||||||
|
| `Lfd/c;` | `d` | `:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;` | 1 |
|
||||||
|
| `Lfd/c;` | `c` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lgh/b;` | `b` | `:F` | 1 |
|
||||||
|
| `Lgh/j;` | `a` | `()V` | 1 |
|
||||||
|
| `Lgh/j;` | `d` | `:Lio/reactivex/subjects/BehaviorSubject;` | 1 |
|
||||||
|
| `Lh4/a;` | `q` | `(Landroidx/fragment/app/FragmentActivity;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z` | 1 |
|
||||||
|
| `Lh4/a;` | `n` | `:Lcom/aspiro/wamp/contextmenu/menu/track/TrackContextMenu$a;` | 1 |
|
||||||
|
| `Lhf/c;` | `e` | `:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;` | 1 |
|
||||||
|
| `Lhf/c;` | `d` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lj3/k$a;` | `a` | `(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/k;` | 1 |
|
||||||
|
| `Lj3/k;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lj3/n$a;` | `a` | `(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/n;` | 1 |
|
||||||
|
| `Lj3/n;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lj3/q$a;` | `a` | `(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/q;` | 1 |
|
||||||
|
| `Lj3/q;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lk5/f;` | `l` | `(Ljava/lang/String;)Lcom/aspiro/wamp/dynamicpages/data/model/Module;` | 1 |
|
||||||
|
| `Lld/c;` | `a` | `:Lx40/a;` | 1 |
|
||||||
|
| `Lld/c;` | `d` | `:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;` | 1 |
|
||||||
|
| `Lld/c;` | `c` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lm3/d;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lm3/f;` | `j` | `:Lcom/aspiro/wamp/playqueue/g1;` | 1 |
|
||||||
|
| `Lm3/i$a;` | `a` | `(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/i;` | 1 |
|
||||||
|
| `Lm3/i;` | `b` | `(Landroidx/fragment/app/FragmentActivity;)V` | 1 |
|
||||||
|
| `Lmb/f;` | `c` | `:Ljava/util/Map;` | 1 |
|
||||||
|
| `Lmb0/a;` | `a` | `:Lh40/n;` | 1 |
|
||||||
|
| `Lmb0/f;` | `a` | `(Lmb0/e;)Ljava/lang/String;` | 1 |
|
||||||
|
| `Ln8/d;` | `f` | `:Lcom/aspiro/wamp/model/MediaItem;` | 1 |
|
||||||
|
| `Lo3/a;` | `l` | `:Lcom/aspiro/wamp/module/album/AlbumProvider;` | 1 |
|
||||||
|
| `Lo3/a;` | `e` | `:Lc3/i$a;` | 1 |
|
||||||
|
| `Lo3/a;` | `d` | `:Lc3/l$a;` | 1 |
|
||||||
|
| `Lo4/g;` | `e` | `:Lo4/g$e;` | 1 |
|
||||||
|
| `Lo4/g;` | `b` | `:I` | 1 |
|
||||||
|
| `Lo6/i;` | `g` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lo6/i;` | `e` | `(ILjava/lang/String;)V` | 1 |
|
||||||
|
| `Lo6/i;` | `m` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lob0/q;` | `a` | `(Lpb0/b$e;Lam0/a;Landroidx/compose/ui/Modifier;Lam0/a;Landroidx/compose/runtime/Composer;I)V` | 1 |
|
||||||
|
| `Lob0/w;` | `a` | `(Lpb0/b$f;Lam0/a;Landroidx/compose/ui/Modifier;Lam0/a;Landroidx/compose/runtime/Composer;I)V` | 1 |
|
||||||
|
| `Lpb0/b$a;` | `a` | `:J` | 1 |
|
||||||
|
| `Lpb0/b$a;` | `f` | `:Z` | 1 |
|
||||||
|
| `Lpb0/b$e;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lpb0/b$f;` | `a` | `:Ljava/lang/String;` | 1 |
|
||||||
|
| `Lpb0/b$i;` | `a` | `:J` | 1 |
|
||||||
|
| `Lpb0/b$i;` | `i` | `:Z` | 1 |
|
||||||
|
| `Lpd0/a;` | `a` | `:Lh40/n;` | 1 |
|
||||||
|
| `Lpe/f;` | `a` | `:Lx40/a;` | 1 |
|
||||||
|
| `Lpe/f;` | `b` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lq20/c2;` | `g` | `(Lq20/c2;Lq20/s4;Lf20/d;Lcom/squareup/ui/market/core/text/MarketTextAlignment;Lcom/squareup/ui/market/core/text/MarketTextTransform;Lq20/r4;ILjava/lang/Object;)Lq20/c2;` | 1 |
|
||||||
|
| `Lra/d;` | `b` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Ltl/f;` | `e` | `(Lcom/aspiro/wamp/search/v2/a;)V` | 1 |
|
||||||
|
| `Ltl/h;` | `c` | `()Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery;` | 1 |
|
||||||
|
| `Ltl/q;` | `c` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lu3/a;` | `j` | `:Lj3/k$a;` | 1 |
|
||||||
|
| `Lu3/a;` | `e` | `:Lj3/n$a;` | 1 |
|
||||||
|
| `Lu3/a;` | `d` | `:Lj3/q$a;` | 1 |
|
||||||
|
| `Lu5/b$a$a;` | `g` | `(ILjava/lang/String;)V` | 1 |
|
||||||
|
| `Lu5/g;` | `h` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lu5/g;` | `j` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lv9/e;` | `b` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
| `Lv9/e;` | `a` | `:Lcom/aspiro/wamp/core/k;` | 1 |
|
||||||
|
| `Lvn0/a;` | `c` | `(Ljava/lang/Iterable;)Lvn0/b;` | 1 |
|
||||||
|
| `Lz70/a;` | `c` | `:Lcom/aspiro/wamp/model/AvailabilityInteractor;` | 1 |
|
||||||
|
| `Lzf/c;` | `c` | `:Lcom/tidal/android/navigation/NavigationInfo;` | 1 |
|
||||||
|
|
||||||
|
## 3. Rolled patch target classes (64)
|
||||||
|
|
||||||
|
`--- a/` headers naming an obfuscated class. If these move the hunk cannot even be located.
|
||||||
|
|
||||||
|
| target | hooked by |
|
||||||
|
|---|---|
|
||||||
|
| `cg0/h.smali` | `lyrics-rl-api-isrc.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/nowplaying/view/playqueue/l.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/nowplaying/view/suggestions/h.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/nowplaying/view/suggestions/o0.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/playlist/ui/fragment/PlaylistFragment.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/aspiro/wamp/search/v2/UnifiedSearchView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/tidal/android/core/debug/DebugFeatureInteractorDefault.smali` | `debug-menu-unlock.patch` |
|
||||||
|
| `com/tidal/android/core/ui/composable/c0.smali` | `player-backdrop-kawarp.patch`, `player-backdrop-playback.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/artisttrackcredits/h.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/compactgridcard/CompactGridCardModuleRowKt.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/compactgridcard/d.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/publicplaylistlist/i.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/verticallistcard/VerticalListCardKt.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/composables/verticaltracklist/j.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager$createModuleViewState$3.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/modules/compactgridcard/CompactGridCardModuleManager$createModuleViewState$2$2.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager$createModuleViewState$3.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager$createModuleViewState$3.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager$createModuleViewState$3.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/MiniPlayerViewModel.smali` | `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali` | `gestures/mini-player/mini-player-left-right-gesture.patch`, `gestures/mini-player/mini-player-up-gesture.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/composable/a.smali` | `mini-player-black.patch`, `mini-player-grey.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/composable/g.smali` | `gestures/mini-player/mini-player-left-right-gesture.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/composable/i.smali` | `gestures/mini-player/mini-player-up-gesture.patch`, `mini-player-black.patch`, `mini-player-dynamic-bg.patch`, `mini-player-floating-border.patch`, `mini-player-grey.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/q.smali` | `cover-capture.patch` |
|
||||||
|
| `com/tidal/android/feature/appscaffold/ui/t.smali` | `cover-capture.patch` |
|
||||||
|
| `com/tidal/android/feature/feed/ui/FeedView.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `com/tidal/android/feature/home/ui/composables/g.smali` | `home-backdrop.patch` |
|
||||||
|
| `com/tidal/android/feature/home/ui/k.smali` | `home-backdrop.patch` |
|
||||||
|
| `com/tidal/android/feature/home/ui/o.smali` | `home-backdrop.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/PlayerScreenKt$PlayerScreenPortrait$2$1.smali` | `lyrics-keep-controls-visible.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali` | `lyrics-replace-lyrics-button.patch`, `lyrics-replace-share-button.patch`, `lyrics-sparkle-conditional-visibility.patch`, `player-backdrop-kawarp.patch`, `player-backdrop-playback.patch`, `player-hide-playing-from.patch`, `player-move-playing-from.patch`, `player-one-handed.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/PlayerViewModel$observeLyricsProgress$1$a.smali` | `lyrics-rl-api-observer.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali` | `lyrics-rl-api.patch`, `player-quality-badge-colors.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali` | `lyrics-keep-controls-visible.patch`, `lyrics-rl-api.patch`, `mini-player-dynamic-bg.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/b0.smali` | `lyrics-disable-cover.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/LyricsKt.smali` | `gestures/lyrics/lyrics-gesture-scroll-guard.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/SeekbarAndTimeKt.smali` | `player-quality-badge-colors.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/c1.smali` | `player-favorite-heart.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/f2.smali` | `lyrics-rl-api-syllable.patch`, `lyrics-rl-api-word.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/n2.smali` | `player-move-playing-from.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/composables/o1.smali` | `lyrics-fade-region.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/i$a.smali` | `player-quality-badge-colors.patch` |
|
||||||
|
| `com/tidal/android/feature/playerscreen/ui/m0.smali` | `lyrics-progress-pill.patch` |
|
||||||
|
| `com/tidal/android/feature/search/ui/SearchScreenViewModel.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/feature/search/ui/composables/u0.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/feature/viewall/ui/ViewAllScreenViewModel.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/android/feature/viewall/ui/l.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `com/tidal/wave2/foundation/WaveScaffoldKt.smali` | `collection-backdrop.patch` |
|
||||||
|
| `de0/c.smali` | `player-backdrop-playback.patch` |
|
||||||
|
| `h4/a.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `hg/d.smali` | `enable-legacy-ui.patch` |
|
||||||
|
| `j40/e4.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `j40/p2.smali` | `gestures/queue/swipe-to-queue-compose.patch` |
|
||||||
|
| `mb/f.smali` | `integration-waze-playback.patch` |
|
||||||
|
| `p7/a.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
| `v6/e.smali` | `gestures/queue/swipe-to-queue.patch` |
|
||||||
|
|
||||||
|
## 4. Occurrences inside .patch files - not marked inline (220)
|
||||||
|
|
||||||
|
| file | line | kind | symbols |
|
||||||
|
|---|---:|---|---|
|
||||||
|
| `cover-capture.patch` | 5 | context | `Lcom/tidal/android/feature/appscaffold/ui/q; d` |
|
||||||
|
| `cover-capture.patch` | 11 | context | `Lcom/tidal/android/feature/appscaffold/ui/q; e` |
|
||||||
|
| `cover-capture.patch` | 15 | context | `Lcom/tidal/android/feature/appscaffold/ui/q;` |
|
||||||
|
| `debug-menu-unlock.patch` | 11 | context | `Lcom/tidal/android/featureflags/n; a` |
|
||||||
|
| `debug-menu-unlock.patch` | 26 | context | `Lo50/a; a` |
|
||||||
|
| `debug-menu-unlock.patch` | 36 | context | `Lo50/a; a` |
|
||||||
|
| `gestures/lyrics/lyrics-gesture-scroll-guard.patch` | 12 | context | `Lam0/l;` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 7 | added | `Lam0/l;` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 16 | context | `Lcom/tidal/android/feature/appscaffold/ui/t; Lcom/tidal/android/feature/appscaffold/ui/q; b` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 32 | context | `Lf20/a; p0` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 63 | context | `Lbi/e; i` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 73 | added | `Lcom/tidal/android/feature/appscaffold/ui/r$c; a` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 81 | added | `Lbi/e;` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 89 | added | `Lbi/e; h` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 95 | context | `Landroidx/navigation/f0;` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 116 | added | `Lkotlin/u;` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 122 | context | `Lcom/tidal/android/feature/appscaffold/ui/composable/g; Lam0/l; a` |
|
||||||
|
| `gestures/mini-player/mini-player-left-right-gesture.patch` | 126 | context | `Lcom/tidal/android/feature/appscaffold/ui/b$b; a` |
|
||||||
|
| `gestures/mini-player/mini-player-up-gesture.patch` | 14 | added | `Lam0/l;` |
|
||||||
|
| `gestures/mini-player/mini-player-up-gesture.patch` | 23 | context | `Lcom/tidal/android/feature/appscaffold/ui/t; c` |
|
||||||
|
| `gestures/mini-player/mini-player-up-gesture.patch` | 25 | added | `Lcom/tidal/android/feature/appscaffold/ui/t; a` |
|
||||||
|
| `gestures/mini-player/mini-player-up-gesture.patch` | 64 | context | `Lf20/a; p0` |
|
||||||
|
| `gestures/player/player-swipe-gesture.patch` | 35 | added | `Lam0/l;` |
|
||||||
|
| `gestures/player/player-swipe-gesture.patch` | 37 | added | `Lam0/l;` |
|
||||||
|
| `gestures/player/player-swipe-gesture.patch` | 41 | context | `Lam0/l;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 5 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 7 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 18 | added | `Lm40/e$e; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 26 | added | `Lam0/l; Lm40/e$e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 28 | added | `Lm40/e$e; j` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 54 | context | `Landroidx/navigation/f0;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 60 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 72 | added | `Lam0/l; Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 93 | added | `Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d; Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 95 | added | `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c; Lam0/q; f` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 97 | added | `Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d; c` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 99 | added | `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 103 | added | `Lam0/q;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 105 | added | `Lkotlin/u;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 123 | added | `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 127 | added | `Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 129 | added | `Lkotlin/u;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 159 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 161 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 167 | added | `Lam0/l; Lpb0/b;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 173 | added | `Lpb0/b$a; f` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 187 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 193 | added | `Lam0/l; Lpb0/b;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 208 | context | `Lob0/w; Lpb0/b$f; Lam0/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 211 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 213 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 219 | added | `Lam0/l; Lpb0/b;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 225 | added | `Lpb0/b$i; i` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 239 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 245 | added | `Lam0/l; Lpb0/b;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 260 | context | `Lob0/q; Lpb0/b$e; Lam0/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 265 | context | `Lam0/l;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 267 | added | `Lm40/e$e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 273 | added | `Lm40/e$e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 275 | added | `Lm40/e$e; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 283 | added | `Lam0/l; Lm40/e$e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 285 | added | `Lm40/e$e; j` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 300 | added | `Lcom/tidal/android/feature/viewall/ui/n;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 304 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 318 | added | `Lcom/tidal/android/feature/viewall/ui/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 324 | added | `Lkotlin/u;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 330 | context | `Lcom/tidal/android/feature/viewall/ui/e$a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 334 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 335 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 341 | added | `Lm40/e$e; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 349 | added | `Lam0/l; Lm40/e$e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 351 | added | `Lm40/e$e; j` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 376 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 384 | added | `Lam0/l; Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 390 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 402 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 403 | added | `Lcom/tidal/android/dynamicpages/ui/composables/verticallistcard/m;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 407 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 413 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 415 | added | `Lm40/e;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 421 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 429 | context | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 430 | added | `Lam0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 438 | added | `Lam0/l; Lm40/e$d;` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 444 | added | `Lm40/e$d; g` |
|
||||||
|
| `gestures/queue/swipe-to-queue-compose.patch` | 480 | context | `Landroidx/navigation/f0;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 13 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; d` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 17 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 33 | added | `f` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 62 | added | `Y` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 69 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; d` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 73 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 79 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; m` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 81 | added | `Lcom/aspiro/wamp/playqueue/source/model/b; m` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 87 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0; k` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 89 | added | `Lx40/a; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 91 | added | `Lh4/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 95 | added | `Lh4/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 126 | added | `Lh4/a; q` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 142 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m; l` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 146 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m; f` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 148 | added | `w` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 156 | context | `Ln8/b;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 159 | context | `Lo4/g; Lo4/g$e; e` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 163 | context | `Lo4/g; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 164 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m; l` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 168 | added | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m; f` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 174 | context | `Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/n; N` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 207 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 218 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 230 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 270 | added | `Lh4/a; n` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 272 | added | `Lcom/aspiro/wamp/contextmenu/menu/track/d;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 274 | added | `Lcom/aspiro/wamp/contextmenu/menu/track/d; Lcom/aspiro/wamp/contextmenu/menu/track/c; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 276 | added | `Lcom/aspiro/wamp/contextmenu/menu/track/c; Ldagger/internal/j; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 278 | added | `Lql0/a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 282 | added | `Lm3/f$a;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 284 | added | `Lm3/f$a; Lm3/f; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 288 | added | `Lm3/f; Lcom/aspiro/wamp/playqueue/g1; j` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 290 | added | `Lcom/aspiro/wamp/playqueue/g1; Lcom/aspiro/wamp/player/d; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 294 | added | `Lcom/aspiro/wamp/player/d; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 300 | added | `Lm3/f; b` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 323 | context | `Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/a; Lcom/aspiro/wamp/nowplaying/view/playqueue/l;` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 346 | added | `h` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 357 | added | `i` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 359 | context | `d` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 430 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 443 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 456 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 469 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 482 | context | `Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b; Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a; a` |
|
||||||
|
| `gestures/queue/swipe-to-queue.patch` | 500 | context | `Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; Lcom/aspiro/wamp/nowplaying/view/suggestions/l; M` |
|
||||||
|
| `integration-waze-playback.patch` | 9 | added | `Lkotlin/jvm/internal/n;` |
|
||||||
|
| `integration-waze-playback.patch` | 17 | added | `Lkotlin/jvm/internal/n;` |
|
||||||
|
| `integration-waze-playback.patch` | 35 | added | `Lkotlin/jvm/internal/n;` |
|
||||||
|
| `integration-waze-playback.patch` | 55 | context | `Lmb/f; c` |
|
||||||
|
| `lyrics-disable-cover.patch` | 11 | added | `Lcom/tidal/android/feature/playerscreen/ui/b0; Lcom/tidal/android/feature/playerscreen/ui/s$a; b` |
|
||||||
|
| `lyrics-disable-cover.patch` | 13 | added | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/g; j` |
|
||||||
|
| `lyrics-disable-cover.patch` | 15 | added | `Lcom/tidal/android/feature/playerscreen/ui/g$a;` |
|
||||||
|
| `lyrics-disable-cover.patch` | 19 | context | `Lcom/tidal/android/feature/playerscreen/ui/d; Lam0/l; c` |
|
||||||
|
| `lyrics-fade-region.patch` | 7 | removed | `Lcom/tidal/android/feature/playerscreen/ui/composables/o1; a` |
|
||||||
|
| `lyrics-keep-controls-visible.patch` | 28 | added | `Lkotlin/u;` |
|
||||||
|
| `lyrics-progress-pill.patch` | 14 | context | `Lcom/tidal/android/feature/playerscreen/ui/g; Lam0/l; a` |
|
||||||
|
| `lyrics-progress-pill.patch` | 60 | added | `Lam0/a;` |
|
||||||
|
| `lyrics-progress-pill.patch` | 72 | added | `Lam0/l;` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 8 | removed | `Lcom/tidal/android/feature/playerscreen/ui/composables/k1; Lam0/a; a` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 19 | context | `Lcom/tidal/android/feature/playerscreen/ui/composables/s3; Lam0/a; a` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 21 | added | `Landroidx/window/embedding/a2;` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 27 | added | `Landroidx/window/embedding/a2;` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 35 | added | `Lam0/a;` |
|
||||||
|
| `lyrics-replace-lyrics-button.patch` | 38 | context | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/p; m` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 7 | removed | `Lcom/tidal/android/feature/playerscreen/ui/b; Lam0/a; b` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 20 | removed | `Lcom/tidal/android/feature/playerscreen/ui/e0;` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 21 | added | `Landroidx/window/embedding/b2;` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 26 | removed | `Lcom/tidal/android/feature/playerscreen/ui/e0;` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 27 | added | `Landroidx/window/embedding/b2;` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 33 | context | `Lam0/a;` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 36 | added | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/b; d` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 42 | removed | `Lcom/tidal/android/feature/playerscreen/ui/composables/e5; Lam0/a; a` |
|
||||||
|
| `lyrics-replace-share-button.patch` | 43 | added | `Lcom/tidal/android/feature/playerscreen/ui/b; Lam0/a; b` |
|
||||||
|
| `lyrics-rl-api-isrc.patch` | 4 | context | `Lcom/tidal/android/tidalapi/domain/model/o;` |
|
||||||
|
| `lyrics-rl-api-observer.patch` | 10 | context | `a` |
|
||||||
|
| `lyrics-rl-api-observer.patch` | 34 | context | `Lcom/tidal/android/feature/playerscreen/ui/g$c; c` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 14 | context | `Lcom/tidal/android/feature/playerscreen/ui/f;` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 23 | context | `Lcom/tidal/android/feature/playerscreen/ui/f; a` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 25 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; b` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 29 | added | `Lcom/tidal/android/feature/playerscreen/ui/f; a` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 33 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; d` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 37 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; e` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 64 | added | `Lam0/l;` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 76 | removed | `Lam0/l;` |
|
||||||
|
| `lyrics-rl-api-syllable.patch` | 77 | added | `Lam0/l;` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 14 | context | `Lcom/tidal/android/feature/playerscreen/ui/f;` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 23 | context | `Lcom/tidal/android/feature/playerscreen/ui/f; a` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 25 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; b` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 29 | added | `Lcom/tidal/android/feature/playerscreen/ui/f; a` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 33 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; d` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 37 | added | `Lcom/tidal/android/feature/playerscreen/ui/composables/f2; e` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 52 | removed | `Lam0/l;` |
|
||||||
|
| `lyrics-rl-api-word.patch` | 53 | added | `Lam0/l;` |
|
||||||
|
| `lyrics-rl-api.patch` | 77 | context | `P` |
|
||||||
|
| `lyrics-sparkle-conditional-visibility.patch` | 5 | context | `Lcom/tidal/android/feature/playerscreen/ui/composables/s3; Lam0/a; a` |
|
||||||
|
| `lyrics-sparkle-conditional-visibility.patch` | 7 | added | `Lcom/tidal/android/feature/playerscreen/ui/s$a; i` |
|
||||||
|
| `lyrics-sparkle-conditional-visibility.patch` | 15 | context | `Landroidx/window/embedding/a2;` |
|
||||||
|
| `lyrics-sparkle-conditional-visibility.patch` | 20 | context | `Lam0/a;` |
|
||||||
|
| `lyrics-sparkle-conditional-visibility.patch` | 36 | context | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/p; m` |
|
||||||
|
| `mini-player-black.patch` | 56 | context | `Lcom/tidal/android/feature/appscaffold/ui/composable/a; c` |
|
||||||
|
| `mini-player-black.patch` | 71 | context | `Lam0/p;` |
|
||||||
|
| `mini-player-dynamic-bg.patch` | 14 | context | `Lcom/tidal/android/feature/appscaffold/ui/composable/a; c` |
|
||||||
|
| `mini-player-dynamic-bg.patch` | 20 | context | `W` |
|
||||||
|
| `mini-player-dynamic-bg.patch` | 22 | added | `Lkotlin/i; Q` |
|
||||||
|
| `mini-player-dynamic-bg.patch` | 24 | added | `Lkotlin/i;` |
|
||||||
|
| `mini-player-floating-border.patch` | 9 | added | `Lam0/l;` |
|
||||||
|
| `mini-player-floating-border.patch` | 14 | context | `Lkotlin/u;` |
|
||||||
|
| `mini-player-grey.patch` | 58 | context | `Lam0/p;` |
|
||||||
|
| `player-backdrop-kawarp.patch` | 8 | removed | `Lcom/tidal/android/feature/playerscreen/ui/composables/p3; Lam0/a; b` |
|
||||||
|
| `player-backdrop-kawarp.patch` | 9 | added | `Lam0/a;` |
|
||||||
|
| `player-backdrop-kawarp.patch` | 36 | removed | `Lcom/tidal/android/feature/playerscreen/ui/composables/p3; Lam0/a; a` |
|
||||||
|
| `player-backdrop-playback.patch` | 10 | context | `Lcom/tidal/android/feature/playerscreen/ui/composables/p3; Lam0/a; b` |
|
||||||
|
| `player-backdrop-playback.patch` | 46 | removed | `Landroidx/compose/foundation/text/input/a;` |
|
||||||
|
| `player-backdrop-playback.patch` | 73 | context | `Lde0/c; a` |
|
||||||
|
| `player-backdrop-playback.patch` | 95 | context | `Lcom/squareup/ui/market/layout/e; c` |
|
||||||
|
| `player-favorite-heart.patch` | 16 | removed | `La30/b; La30/a; O` |
|
||||||
|
| `player-favorite-heart.patch` | 20 | removed | `La30/a; a` |
|
||||||
|
| `player-hide-playing-from.patch` | 5 | context | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/p; m` |
|
||||||
|
| `player-move-playing-from.patch` | 8 | added | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/p; m` |
|
||||||
|
| `player-move-playing-from.patch` | 12 | added | `Lcom/tidal/android/feature/playerscreen/ui/p; a` |
|
||||||
|
| `player-move-playing-from.patch` | 22 | context | `Lcom/tidal/android/feature/playerscreen/ui/s$a; Lcom/tidal/android/feature/playerscreen/ui/d; c` |
|
||||||
|
| `player-move-playing-from.patch` | 29 | context | `Lq20/c2;` |
|
||||||
|
| `player-move-playing-from.patch` | 61 | added | `Lcom/squareup/ui/market/text/a; Lam0/l; Lq20/c2; e` |
|
||||||
|
| `player-quality-badge-colors.patch` | 5 | context | `Lcom/tidal/android/feature/playerscreen/ui/composables/t4; g` |
|
||||||
|
| `player-quality-badge-colors.patch` | 16 | context | `Lcom/tidal/android/feature/playerscreen/ui/i$a;` |
|
||||||
|
| `player-quality-badge-colors.patch` | 18 | added | `Lcom/tidal/android/feature/playerscreen/ui/i$a; b` |
|
||||||
|
| `player-quality-badge-colors.patch` | 22 | context | `Lcom/tidal/android/feature/playerscreen/ui/i$a; a` |
|
||||||
|
| `player-quality-badge-colors.patch` | 33 | added | `Lq20/c2;` |
|
||||||
|
| `player-quality-badge-colors.patch` | 55 | added | `Lcom/tidal/android/feature/playerscreen/ui/i$a;` |
|
||||||
|
| `player-quality-badge-colors.patch` | 66 | context | `Lcom/tidal/android/feature/playerscreen/ui/i$a; a` |
|
||||||
|
| `player-quality-badge-colors.patch` | 68 | added | `Lcom/tidal/android/feature/playerscreen/ui/i$a; b` |
|
||||||
|
| `player-quality-badge-colors.patch` | 111 | removed | `Lcom/tidal/android/feature/playerscreen/ui/i$a;` |
|
||||||
|
| `player-quality-badge-colors.patch` | 114 | added | `Lcom/tidal/android/feature/playerscreen/ui/i$a;` |
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"tidalVersionCode": 10004,
|
"tidalVersionCode": 10004,
|
||||||
"tidalApkUrl": "https://github.com/meowarex/rl-mobile/releases/download/latest/tidal-stock.apk",
|
"tidalApkUrl": "https://github.com/meowarex/rl-mobile/releases/download/latest/tidal-stock.apk",
|
||||||
"patchesVersion": "1.2.5"
|
"patchesVersion": "1.2.7"
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
.class public final Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
.class public final Lcom/tidal/android/feature/appscaffold/ui/r$c; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
||||||
.super Lcom/tidal/android/feature/appscaffold/ui/r;
|
.super Lcom/tidal/android/feature/appscaffold/ui/r; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r;
|
||||||
.source "SourceFile"
|
.source "SourceFile"
|
||||||
|
|
||||||
# Synthetic mini-player event used by right swipe (previous/rewind).
|
# Synthetic mini-player event used by right swipe (previous/rewind).
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lcom/tidal/android/feature/appscaffold/ui/r;
|
value = Lcom/tidal/android/feature/appscaffold/ui/r; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -16,18 +16,18 @@
|
|||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
.field public static final a:Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
.field public static final a:Lcom/tidal/android/feature/appscaffold/ui/r$c; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method static constructor <clinit>()V
|
.method static constructor <clinit>()V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
new-instance v0, Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
new-instance v0, Lcom/tidal/android/feature/appscaffold/ui/r$c; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
||||||
|
|
||||||
invoke-direct {v0}, Lcom/tidal/android/feature/appscaffold/ui/r;-><init>()V
|
invoke-direct {v0}, Lcom/tidal/android/feature/appscaffold/ui/r;-><init>()V # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r;
|
||||||
|
|
||||||
sput-object v0, Lcom/tidal/android/feature/appscaffold/ui/r$c;->a:Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
sput-object v0, Lcom/tidal/android/feature/appscaffold/ui/r$c;->a:Lcom/tidal/android/feature/appscaffold/ui/r$c; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c; a
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
return v0
|
return v0
|
||||||
|
|
||||||
:cond_0
|
:cond_0
|
||||||
instance-of p1, p1, Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
instance-of p1, p1, Lcom/tidal/android/feature/appscaffold/ui/r$c; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c;
|
||||||
|
|
||||||
if-nez p1, :cond_1
|
if-nez p1, :cond_1
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
# interfaces
|
# interfaces
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
.implements Ljava/lang/Runnable;
|
.implements Ljava/lang/Runnable;
|
||||||
.implements Landroid/view/Choreographer$FrameCallback;
|
.implements Landroid/view/Choreographer$FrameCallback;
|
||||||
.implements Lb0/c;
|
.implements Lb0/c; # MARKER: R8 Lb0/c;
|
||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
.field private static volatile loadToken:I
|
.field private static volatile loadToken:I
|
||||||
|
|
||||||
.field private static volatile loader:Lcoil/f;
|
.field private static volatile loader:Lcoil/f; # MARKER: R8 Lcoil/f;
|
||||||
|
|
||||||
.field private static volatile requestedUuid:Ljava/lang/String;
|
.field private static volatile requestedUuid:Ljava/lang/String;
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
.method private static attach(Landroidx/compose/runtime/Composer;)V
|
.method private static attach(Landroidx/compose/runtime/Composer;)V
|
||||||
.registers 3
|
.registers 3
|
||||||
|
|
||||||
sget-object v0, Lradiant/Kawarp;->loader:Lcoil/f;
|
sget-object v0, Lradiant/Kawarp;->loader:Lcoil/f; # MARKER: R8 Lcoil/f;
|
||||||
|
|
||||||
if-eqz v0, :cond_5
|
if-eqz v0, :cond_5
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
instance-of v0, p0, Lce0/b$a;
|
instance-of v0, p0, Lce0/b$a; # MARKER: R8 Lce0/b$a;
|
||||||
|
|
||||||
if-nez v0, :cond_1d
|
if-nez v0, :cond_1d
|
||||||
|
|
||||||
@@ -138,13 +138,13 @@
|
|||||||
:cond_1d
|
:cond_1d
|
||||||
move-object v0, p0
|
move-object v0, p0
|
||||||
|
|
||||||
check-cast v0, Lce0/b$a;
|
check-cast v0, Lce0/b$a; # MARKER: R8 Lce0/b$a;
|
||||||
|
|
||||||
invoke-interface {v0}, Lce0/b$a;->a()Lce0/b;
|
invoke-interface {v0}, Lce0/b$a;->a()Lce0/b; # MARKER: R8 Lce0/b$a; Lce0/b; a
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
invoke-interface {v0}, Lce0/b;->a()Lxd0/e;
|
invoke-interface {v0}, Lce0/b;->a()Lxd0/e; # MARKER: R8 Lce0/b; Lxd0/e; a
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
@@ -159,9 +159,9 @@
|
|||||||
|
|
||||||
check-cast v0, Lcom/tidal/android/image/coil/base/CoilImageLoader;
|
check-cast v0, Lcom/tidal/android/image/coil/base/CoilImageLoader;
|
||||||
|
|
||||||
iget-object p0, v0, Lcom/tidal/android/image/coil/base/CoilImageLoader;->a:Lcoil/f;
|
iget-object p0, v0, Lcom/tidal/android/image/coil/base/CoilImageLoader;->a:Lcoil/f; # MARKER: R8 Lcoil/f; a
|
||||||
|
|
||||||
sput-object p0, Lradiant/Kawarp;->loader:Lcoil/f;
|
sput-object p0, Lradiant/Kawarp;->loader:Lcoil/f; # MARKER: R8 Lcoil/f;
|
||||||
:try_end_35
|
:try_end_35
|
||||||
.catchall {:try_start_5 .. :try_end_35} :catchall_36
|
.catchall {:try_start_5 .. :try_end_35} :catchall_36
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
.method public static b(Lcom/tidal/android/feature/playerscreen/ui/model/PlayerBackgroundStyle;JILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
|
.method public static b(Lcom/tidal/android/feature/playerscreen/ui/model/PlayerBackgroundStyle;JILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # MARKER: R8 Lam0/a;
|
||||||
.registers 11
|
.registers 11
|
||||||
|
|
||||||
invoke-static {p3, p4, p5, p8, p9}, Lradiant/Kawarp;->render(ILjava/lang/String;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;)V
|
invoke-static {p3, p4, p5, p8, p9}, Lradiant/Kawarp;->render(ILjava/lang/String;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;)V
|
||||||
@@ -471,7 +471,7 @@
|
|||||||
|
|
||||||
sget-object p1, Lradiant/Kawarp;->DRAW:Lradiant/Kawarp;
|
sget-object p1, Lradiant/Kawarp;->DRAW:Lradiant/Kawarp;
|
||||||
|
|
||||||
invoke-static {p0, p1}, Landroidx/compose/ui/draw/DrawModifierKt;->drawBehind(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier;
|
invoke-static {p0, p1}, Landroidx/compose/ui/draw/DrawModifierKt;->drawBehind(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
@@ -500,7 +500,7 @@
|
|||||||
|
|
||||||
move-object v6, p4
|
move-object v6, p4
|
||||||
|
|
||||||
invoke-static/range {v0 .. v7}, Lcom/tidal/android/feature/playerscreen/ui/composables/p3;->a(ILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
|
invoke-static/range {v0 .. v7}, Lcom/tidal/android/feature/playerscreen/ui/composables/p3;->a(ILjava/lang/String;ZZLam0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # MARKER: R8 Lcom/tidal/android/feature/playerscreen/ui/composables/p3; Lam0/a; a
|
||||||
|
|
||||||
:goto_42
|
:goto_42
|
||||||
invoke-interface {v6}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
|
invoke-interface {v6}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
|
||||||
@@ -530,7 +530,7 @@
|
|||||||
goto :goto_28
|
goto :goto_28
|
||||||
|
|
||||||
:cond_11
|
:cond_11
|
||||||
sget-object v0, Lradiant/Kawarp;->loader:Lcoil/f;
|
sget-object v0, Lradiant/Kawarp;->loader:Lcoil/f; # MARKER: R8 Lcoil/f;
|
||||||
|
|
||||||
if-nez v0, :cond_16
|
if-nez v0, :cond_16
|
||||||
|
|
||||||
@@ -725,7 +725,7 @@
|
|||||||
|
|
||||||
invoke-static {p1}, Lradiant/Kawarp;->draw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V
|
invoke-static {p1}, Lradiant/Kawarp;->draw(Landroidx/compose/ui/graphics/drawscope/DrawScope;)V
|
||||||
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object p1
|
return-object p1
|
||||||
.end method
|
.end method
|
||||||
@@ -734,11 +734,11 @@
|
|||||||
.registers 15
|
.registers 15
|
||||||
|
|
||||||
:try_start_0
|
:try_start_0
|
||||||
new-instance v0, Lxd0/g;
|
new-instance v0, Lxd0/g; # MARKER: R8 Lxd0/g;
|
||||||
|
|
||||||
sget-object v1, Lradiant/Kawarp;->appContext:Landroid/content/Context;
|
sget-object v1, Lradiant/Kawarp;->appContext:Landroid/content/Context;
|
||||||
|
|
||||||
new-instance v2, Lcom/tidal/android/image/core/b$a;
|
new-instance v2, Lcom/tidal/android/image/core/b$a; # MARKER: R8 Lcom/tidal/android/image/core/b$a;
|
||||||
|
|
||||||
iget v3, p0, Lradiant/Kawarp;->albumId:I
|
iget v3, p0, Lradiant/Kawarp;->albumId:I
|
||||||
|
|
||||||
@@ -748,7 +748,7 @@
|
|||||||
|
|
||||||
iget-object v4, p0, Lradiant/Kawarp;->uuid:Ljava/lang/String;
|
iget-object v4, p0, Lradiant/Kawarp;->uuid:Ljava/lang/String;
|
||||||
|
|
||||||
invoke-direct {v2, v3, v4}, Lcom/tidal/android/image/core/b$a;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
invoke-direct {v2, v3, v4}, Lcom/tidal/android/image/core/b$a;-><init>(Ljava/lang/String;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/image/core/b$a;
|
||||||
|
|
||||||
const/4 v7, 0x0
|
const/4 v7, 0x0
|
||||||
|
|
||||||
@@ -762,57 +762,57 @@
|
|||||||
|
|
||||||
const/4 v6, 0x0
|
const/4 v6, 0x0
|
||||||
|
|
||||||
invoke-direct/range {v0 .. v8}, Lxd0/g;-><init>(Landroid/content/Context;Lcom/tidal/android/image/core/b;Lcom/tidal/android/image/core/b$h$a;Lcom/tidal/android/image/core/b$h$a;ZLjava/util/List;Lxd0/f;Z)V
|
invoke-direct/range {v0 .. v8}, Lxd0/g;-><init>(Landroid/content/Context;Lcom/tidal/android/image/core/b;Lcom/tidal/android/image/core/b$h$a;Lcom/tidal/android/image/core/b$h$a;ZLjava/util/List;Lxd0/f;Z)V # MARKER: R8 Lxd0/g; Lcom/tidal/android/image/core/b; Lcom/tidal/android/image/core/b$h$a; Lxd0/f;
|
||||||
|
|
||||||
const/4 v1, 0x0
|
const/4 v1, 0x0
|
||||||
|
|
||||||
invoke-static {v0, v1}, Lcom/tidal/android/image/coil/c;->a(Lxd0/g;Landroidx/compose/ui/layout/ContentScale;)Lcoil/request/h;
|
invoke-static {v0, v1}, Lcom/tidal/android/image/coil/c;->a(Lxd0/g;Landroidx/compose/ui/layout/ContentScale;)Lcoil/request/h; # MARKER: R8 Lcom/tidal/android/image/coil/c; Lxd0/g; Lcoil/request/h; a
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
invoke-static {v0}, Lcoil/request/h;->a(Lcoil/request/h;)Lcoil/request/h$a;
|
invoke-static {v0}, Lcoil/request/h;->a(Lcoil/request/h;)Lcoil/request/h$a; # MARKER: R8 Lcoil/request/h; Lcoil/request/h$a; a
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
iget-object v1, v0, Lcoil/request/h$a;->b:Lcoil/request/b;
|
iget-object v1, v0, Lcoil/request/h$a;->b:Lcoil/request/b; # MARKER: R8 Lcoil/request/h$a; Lcoil/request/b; b
|
||||||
|
|
||||||
new-instance v2, Lcoil/request/b;
|
new-instance v2, Lcoil/request/b; # MARKER: R8 Lcoil/request/b;
|
||||||
|
|
||||||
iget-object v3, v1, Lcoil/request/b;->a:Lkotlinx/coroutines/CoroutineDispatcher;
|
iget-object v3, v1, Lcoil/request/b;->a:Lkotlinx/coroutines/CoroutineDispatcher; # MARKER: R8 Lcoil/request/b; a
|
||||||
|
|
||||||
iget-object v4, v1, Lcoil/request/b;->b:Lkotlinx/coroutines/CoroutineDispatcher;
|
iget-object v4, v1, Lcoil/request/b;->b:Lkotlinx/coroutines/CoroutineDispatcher; # MARKER: R8 Lcoil/request/b; b
|
||||||
|
|
||||||
iget-object v5, v1, Lcoil/request/b;->c:Lkotlinx/coroutines/CoroutineDispatcher;
|
iget-object v5, v1, Lcoil/request/b;->c:Lkotlinx/coroutines/CoroutineDispatcher; # MARKER: R8 Lcoil/request/b; c
|
||||||
|
|
||||||
iget-object v6, v1, Lcoil/request/b;->d:Lkotlinx/coroutines/CoroutineDispatcher;
|
iget-object v6, v1, Lcoil/request/b;->d:Lkotlinx/coroutines/CoroutineDispatcher; # MARKER: R8 Lcoil/request/b; d
|
||||||
|
|
||||||
iget-object v7, v1, Lcoil/request/b;->e:Ld0/c$a;
|
iget-object v7, v1, Lcoil/request/b;->e:Ld0/c$a; # MARKER: R8 Lcoil/request/b; Ld0/c$a; e
|
||||||
|
|
||||||
iget-object v8, v1, Lcoil/request/b;->f:Lcoil/size/Precision;
|
iget-object v8, v1, Lcoil/request/b;->f:Lcoil/size/Precision; # MARKER: R8 Lcoil/request/b; f
|
||||||
|
|
||||||
iget-object v9, v1, Lcoil/request/b;->g:Landroid/graphics/Bitmap$Config;
|
iget-object v9, v1, Lcoil/request/b;->g:Landroid/graphics/Bitmap$Config; # MARKER: R8 Lcoil/request/b; g
|
||||||
|
|
||||||
iget-boolean v10, v1, Lcoil/request/b;->h:Z
|
iget-boolean v10, v1, Lcoil/request/b;->h:Z # MARKER: R8 Lcoil/request/b; h
|
||||||
|
|
||||||
iget-object v11, v1, Lcoil/request/b;->i:Lcoil/request/CachePolicy;
|
iget-object v11, v1, Lcoil/request/b;->i:Lcoil/request/CachePolicy; # MARKER: R8 Lcoil/request/b; i
|
||||||
|
|
||||||
iget-object v12, v1, Lcoil/request/b;->j:Lcoil/request/CachePolicy;
|
iget-object v12, v1, Lcoil/request/b;->j:Lcoil/request/CachePolicy; # MARKER: R8 Lcoil/request/b; j
|
||||||
|
|
||||||
sget-object v13, Lcoil/request/CachePolicy;->DISABLED:Lcoil/request/CachePolicy;
|
sget-object v13, Lcoil/request/CachePolicy;->DISABLED:Lcoil/request/CachePolicy;
|
||||||
|
|
||||||
invoke-direct/range {v2 .. v13}, Lcoil/request/b;-><init>(Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Ld0/c$a;Lcoil/size/Precision;Landroid/graphics/Bitmap$Config;ZLcoil/request/CachePolicy;Lcoil/request/CachePolicy;Lcoil/request/CachePolicy;)V
|
invoke-direct/range {v2 .. v13}, Lcoil/request/b;-><init>(Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlinx/coroutines/CoroutineDispatcher;Ld0/c$a;Lcoil/size/Precision;Landroid/graphics/Bitmap$Config;ZLcoil/request/CachePolicy;Lcoil/request/CachePolicy;Lcoil/request/CachePolicy;)V # MARKER: R8 Lcoil/request/b; Ld0/c$a;
|
||||||
|
|
||||||
iput-object v2, v0, Lcoil/request/h$a;->b:Lcoil/request/b;
|
iput-object v2, v0, Lcoil/request/h$a;->b:Lcoil/request/b; # MARKER: R8 Lcoil/request/h$a; Lcoil/request/b; b
|
||||||
|
|
||||||
iput-object p0, v0, Lcoil/request/h$a;->d:Lb0/c;
|
iput-object p0, v0, Lcoil/request/h$a;->d:Lb0/c; # MARKER: R8 Lcoil/request/h$a; Lb0/c; d
|
||||||
|
|
||||||
sget-object v1, Lradiant/Kawarp;->loader:Lcoil/f;
|
sget-object v1, Lradiant/Kawarp;->loader:Lcoil/f; # MARKER: R8 Lcoil/f;
|
||||||
|
|
||||||
invoke-virtual {v0}, Lcoil/request/h$a;->a()Lcoil/request/h;
|
invoke-virtual {v0}, Lcoil/request/h$a;->a()Lcoil/request/h; # MARKER: R8 Lcoil/request/h$a; Lcoil/request/h; a
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
invoke-interface {v1, v0}, Lcoil/f;->b(Lcoil/request/h;)Lcoil/request/d;
|
invoke-interface {v1, v0}, Lcoil/f;->b(Lcoil/request/h;)Lcoil/request/d; # MARKER: R8 Lcoil/f; Lcoil/request/h; Lcoil/request/d; b
|
||||||
:try_end_4d
|
:try_end_4d
|
||||||
.catchall {:try_start_0 .. :try_end_4d} :catchall_4e
|
.catchall {:try_start_0 .. :try_end_4d} :catchall_4e
|
||||||
|
|
||||||
|
|||||||
@@ -3,22 +3,20 @@
|
|||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
.field public static final colorState:Landroidx/compose/runtime/MutableState; # player bg color
|
.field public static final colorFlow:Lkotlinx/coroutines/flow/MutableStateFlow; # player bg color
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method static constructor <clinit>()V
|
.method static constructor <clinit>()V
|
||||||
.locals 2
|
.locals 1
|
||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
const/4 v1, 0x2
|
invoke-static {v0}, Lkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||||
|
|
||||||
invoke-static {v0, v0, v1, v0}, Landroidx/compose/runtime/SnapshotStateKt;->mutableStateOf$default(Ljava/lang/Object;Landroidx/compose/runtime/SnapshotMutationPolicy;ILjava/lang/Object;)Landroidx/compose/runtime/MutableState;
|
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
sput-object v0, Lradiant/MiniPlayerBackground;->colorState:Landroidx/compose/runtime/MutableState;
|
sput-object v0, Lradiant/MiniPlayerBackground;->colorFlow:Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -42,9 +40,19 @@
|
|||||||
|
|
||||||
invoke-interface {p2, v0}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V
|
invoke-interface {p2, v0}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V
|
||||||
|
|
||||||
sget-object v0, Lradiant/MiniPlayerBackground;->colorState:Landroidx/compose/runtime/MutableState;
|
sget-object v0, Lradiant/MiniPlayerBackground;->colorFlow:Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||||
|
|
||||||
invoke-interface {v0}, Landroidx/compose/runtime/MutableState;->getValue()Ljava/lang/Object; # read player color
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
const/4 v4, 0x1
|
||||||
|
|
||||||
|
invoke-static {v0, v1, p2, v3, v4}, Landroidx/compose/runtime/SnapshotStateKt;->collectAsState(Lkotlinx/coroutines/flow/StateFlow;Lkotlin/coroutines/h;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State; # MARKER: R8 Lkotlin/coroutines/h;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/runtime/State;->getValue()Ljava/lang/Object;
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
@@ -83,7 +91,7 @@
|
|||||||
|
|
||||||
const/16 v7, 0x8
|
const/16 v7, 0x8
|
||||||
|
|
||||||
invoke-static/range {v0 .. v7}, Landroidx/compose/animation/SingleValueAnimationKt;->animateColorAsState-euL9pac(JLandroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;Lam0/l;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
|
invoke-static/range {v0 .. v7}, Landroidx/compose/animation/SingleValueAnimationKt;->animateColorAsState-euL9pac(JLandroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;Lam0/l;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
@@ -131,9 +139,9 @@
|
|||||||
move-exception p0
|
move-exception p0
|
||||||
|
|
||||||
:set_color
|
:set_color
|
||||||
sget-object p0, Lradiant/MiniPlayerBackground;->colorState:Landroidx/compose/runtime/MutableState;
|
sget-object p0, Lradiant/MiniPlayerBackground;->colorFlow:Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||||
|
|
||||||
invoke-interface {p0, v0}, Landroidx/compose/runtime/MutableState;->setValue(Ljava/lang/Object;)V
|
invoke-interface {p0, v0}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
.class public final Lradiant/MiniSeekerFloating;
|
.class public final Lradiant/MiniSeekerFloating;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
.catch Ljava/lang/Throwable; {:try_start .. :try_end} :swallow
|
.catch Ljava/lang/Throwable; {:try_start .. :try_end} :swallow
|
||||||
|
|
||||||
:swallow
|
:swallow
|
||||||
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # Unit
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # Unit MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object v0
|
return-object v0
|
||||||
.end method
|
.end method
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# static fields
|
# static fields
|
||||||
.field public static progressState:Landroidx/compose/runtime/MutableFloatState;
|
.field public static progressState:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
.field public static volatile vm:Lgh/j;
|
.field public static volatile vm:Lgh/j; # MARKER: R8 Lgh/j;
|
||||||
|
|
||||||
.field public static volatile sub:Lio/reactivex/disposables/Disposable;
|
.field public static volatile sub:Lio/reactivex/disposables/Disposable;
|
||||||
|
|
||||||
@@ -57,40 +57,40 @@
|
|||||||
|
|
||||||
:start_block
|
:start_block
|
||||||
:try_start
|
:try_start
|
||||||
sget-object v0, Lradiant/MiniSeekerLine;->vm:Lgh/j; # cached vm
|
sget-object v0, Lradiant/MiniSeekerLine;->vm:Lgh/j; # cached vm MARKER: R8 Lgh/j;
|
||||||
|
|
||||||
if-nez v0, :got_vm # reuse if present
|
if-nez v0, :got_vm # reuse if present
|
||||||
|
|
||||||
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # app singleton
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # app singleton MARKER: R8 a
|
||||||
|
|
||||||
move-result-object v0 # app
|
move-result-object v0 # app
|
||||||
|
|
||||||
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # dagger component
|
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # dagger component MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
move-result-object v0 # component
|
move-result-object v0 # component
|
||||||
|
|
||||||
check-cast v0, Le5/z$n2; # narrow type
|
check-cast v0, Le5/z$n2; # narrow type MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
iget-object v0, v0, Le5/z$n2;->z0:Ldagger/internal/j; # playqueue provider
|
iget-object v0, v0, Le5/z$n2;->z0:Ldagger/internal/j; # playqueue provider MARKER: R8 Le5/z$n2; Ldagger/internal/j; z0
|
||||||
|
|
||||||
invoke-interface {v0}, Lql0/a;->get()Ljava/lang/Object; # resolve
|
invoke-interface {v0}, Lql0/a;->get()Ljava/lang/Object; # resolve MARKER: R8 Lql0/a;
|
||||||
|
|
||||||
move-result-object v0 # playqueue
|
move-result-object v0 # playqueue
|
||||||
|
|
||||||
check-cast v0, Lcom/aspiro/wamp/playqueue/d1; # narrow type
|
check-cast v0, Lcom/aspiro/wamp/playqueue/d1; # narrow type MARKER: R8 Lcom/aspiro/wamp/playqueue/d1;
|
||||||
|
|
||||||
new-instance v1, Lgh/j; # build vm
|
new-instance v1, Lgh/j; # build vm MARKER: R8 Lgh/j;
|
||||||
|
|
||||||
invoke-direct {v1, v0}, Lgh/j;-><init>(Lcom/aspiro/wamp/playqueue/d1;)V # ctor
|
invoke-direct {v1, v0}, Lgh/j;-><init>(Lcom/aspiro/wamp/playqueue/d1;)V # ctor MARKER: R8 Lgh/j; Lcom/aspiro/wamp/playqueue/d1;
|
||||||
|
|
||||||
sput-object v1, Lradiant/MiniSeekerLine;->vm:Lgh/j; # cache
|
sput-object v1, Lradiant/MiniSeekerLine;->vm:Lgh/j; # cache MARKER: R8 Lgh/j;
|
||||||
|
|
||||||
:got_vm
|
:got_vm
|
||||||
sget-object v0, Lradiant/MiniSeekerLine;->vm:Lgh/j; # vm ref
|
sget-object v0, Lradiant/MiniSeekerLine;->vm:Lgh/j; # vm ref MARKER: R8 Lgh/j;
|
||||||
|
|
||||||
invoke-virtual {v0}, Lgh/j;->a()V # activate emission
|
invoke-virtual {v0}, Lgh/j;->a()V # activate emission MARKER: R8 Lgh/j; a
|
||||||
|
|
||||||
iget-object v0, v0, Lgh/j;->d:Lio/reactivex/subjects/BehaviorSubject; # position subject
|
iget-object v0, v0, Lgh/j;->d:Lio/reactivex/subjects/BehaviorSubject; # position subject MARKER: R8 Lgh/j; d
|
||||||
|
|
||||||
invoke-static {}, Lio/reactivex/android/schedulers/AndroidSchedulers;->mainThread()Lio/reactivex/Scheduler; # main scheduler
|
invoke-static {}, Lio/reactivex/android/schedulers/AndroidSchedulers;->mainThread()Lio/reactivex/Scheduler; # main scheduler
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.class public final Lradiant/NoOp;
|
.class public final Lradiant/NoOp;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Lam0/a;
|
.implements Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
.method public final invoke()Ljava/lang/Object;
|
.method public final invoke()Ljava/lang/Object;
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object v0
|
return-object v0
|
||||||
.end method
|
.end method
|
||||||
@@ -85,15 +85,15 @@
|
|||||||
return-object p0
|
return-object p0
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
.method public static style(ILq20/c2;)Lq20/c2;
|
.method public static style(ILq20/c2;)Lq20/c2; # MARKER: R8 Lq20/c2;
|
||||||
.registers 16
|
.registers 16
|
||||||
|
|
||||||
invoke-static {p0}, Lradiant/QualityBadge;->textArgb(I)I
|
invoke-static {p0}, Lradiant/QualityBadge;->textArgb(I)I
|
||||||
|
|
||||||
move-result v0
|
move-result v0
|
||||||
new-instance v1, Lf20/a;
|
new-instance v1, Lf20/a; # MARKER: R8 Lf20/a;
|
||||||
invoke-direct {v1, v0}, Lf20/a;-><init>(I)V
|
invoke-direct {v1, v0}, Lf20/a;-><init>(I)V # MARKER: R8 Lf20/a;
|
||||||
new-instance v0, Lf20/d;
|
new-instance v0, Lf20/d; # MARKER: R8 Lf20/d;
|
||||||
const/4 v2, 0x0
|
const/4 v2, 0x0
|
||||||
const/4 v3, 0x0
|
const/4 v3, 0x0
|
||||||
const/4 v4, 0x0
|
const/4 v4, 0x0
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
const/4 v12, 0x0
|
const/4 v12, 0x0
|
||||||
const/16 v13, 0xffe
|
const/16 v13, 0xffe
|
||||||
const/4 v14, 0x0
|
const/4 v14, 0x0
|
||||||
invoke-direct/range {v0 .. v14}, Lf20/d;-><init>(Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
invoke-direct/range {v0 .. v14}, Lf20/d;-><init>(Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;Lf20/a;ILkotlin/jvm/internal/DefaultConstructorMarker;)V # MARKER: R8 Lf20/d; Lf20/a;
|
||||||
|
|
||||||
move-object v9, v0
|
move-object v9, v0
|
||||||
move-object/from16 v0, p1
|
move-object/from16 v0, p1
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
const/4 v5, 0x0
|
const/4 v5, 0x0
|
||||||
const/16 v6, 0x1d
|
const/16 v6, 0x1d
|
||||||
const/4 v7, 0x0
|
const/4 v7, 0x0
|
||||||
invoke-static/range {v0 .. v7}, Lq20/c2;->g(Lq20/c2;Lq20/s4;Lf20/d;Lcom/squareup/ui/market/core/text/MarketTextAlignment;Lcom/squareup/ui/market/core/text/MarketTextTransform;Lq20/r4;ILjava/lang/Object;)Lq20/c2;
|
invoke-static/range {v0 .. v7}, Lq20/c2;->g(Lq20/c2;Lq20/s4;Lf20/d;Lcom/squareup/ui/market/core/text/MarketTextAlignment;Lcom/squareup/ui/market/core/text/MarketTextTransform;Lq20/r4;ILjava/lang/Object;)Lq20/c2; # MARKER: R8 Lq20/c2; Lq20/s4; Lf20/d; Lq20/r4; g
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
return-object p0
|
return-object p0
|
||||||
.end method
|
.end method
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
return-void
|
return-void
|
||||||
|
|
||||||
:rl_new_track
|
:rl_new_track
|
||||||
iget-object v5, p0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v5, p0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 P
|
||||||
|
|
||||||
invoke-interface {v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
invoke-interface {v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@
|
|||||||
|
|
||||||
if-eq p0, v6, :store_keep_open
|
if-eq p0, v6, :store_keep_open
|
||||||
|
|
||||||
iget-object v7, v6, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v7, v6, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 P
|
||||||
|
|
||||||
invoke-interface {v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
invoke-interface {v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
iget-object v1, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
|
iget-object v1, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
|
||||||
|
|
||||||
iget-object v2, v1, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v2, v1, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 P
|
||||||
|
|
||||||
sget-object v3, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
|
sget-object v3, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
|
||||||
|
|
||||||
@@ -82,15 +82,15 @@
|
|||||||
|
|
||||||
if-ne v0, v1, :not_current
|
if-ne v0, v1, :not_current
|
||||||
|
|
||||||
iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->a:Lbi/e;
|
iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->a:Lbi/e; # MARKER: R8 Lbi/e; a
|
||||||
|
|
||||||
invoke-interface {v1}, Lbi/e;->getCurrentItem()Lcom/aspiro/wamp/playqueue/u0;
|
invoke-interface {v1}, Lbi/e;->getCurrentItem()Lcom/aspiro/wamp/playqueue/u0; # MARKER: R8 Lbi/e; Lcom/aspiro/wamp/playqueue/u0;
|
||||||
|
|
||||||
move-result-object v1
|
move-result-object v1
|
||||||
|
|
||||||
if-eqz v1, :not_current
|
if-eqz v1, :not_current
|
||||||
|
|
||||||
invoke-interface {v1}, Lcom/aspiro/wamp/playqueue/u0;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem;
|
invoke-interface {v1}, Lcom/aspiro/wamp/playqueue/u0;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem; # MARKER: R8 Lcom/aspiro/wamp/playqueue/u0;
|
||||||
|
|
||||||
move-result-object v1
|
move-result-object v1
|
||||||
|
|
||||||
@@ -506,9 +506,9 @@
|
|||||||
move-wide v7, v11
|
move-wide v7, v11
|
||||||
|
|
||||||
:no_syl
|
:no_syl
|
||||||
new-instance v4, Lcom/tidal/android/feature/playerscreen/ui/f;
|
new-instance v4, Lcom/tidal/android/feature/playerscreen/ui/f; # MARKER: R8 Lcom/tidal/android/feature/playerscreen/ui/f;
|
||||||
|
|
||||||
invoke-direct {v4, v5, v7, v8}, Lcom/tidal/android/feature/playerscreen/ui/f;-><init>(Ljava/lang/String;J)V
|
invoke-direct {v4, v5, v7, v8}, Lcom/tidal/android/feature/playerscreen/ui/f;-><init>(Ljava/lang/String;J)V # MARKER: R8 Lcom/tidal/android/feature/playerscreen/ui/f;
|
||||||
|
|
||||||
invoke-virtual {v2, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
invoke-virtual {v2, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
@@ -855,9 +855,9 @@
|
|||||||
|
|
||||||
iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
|
iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
|
||||||
|
|
||||||
iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 O
|
||||||
|
|
||||||
invoke-static {v3}, Lvn0/a;->c(Ljava/lang/Iterable;)Lvn0/b;
|
invoke-static {v3}, Lvn0/a;->c(Ljava/lang/Iterable;)Lvn0/b; # MARKER: R8 Lvn0/a; Lvn0/b; c
|
||||||
|
|
||||||
move-result-object v6
|
move-result-object v6
|
||||||
|
|
||||||
@@ -868,13 +868,13 @@
|
|||||||
const-string v7, ""
|
const-string v7, ""
|
||||||
|
|
||||||
:have_id
|
:have_id
|
||||||
new-instance v8, Lcom/tidal/android/feature/playerscreen/ui/g$c;
|
new-instance v8, Lcom/tidal/android/feature/playerscreen/ui/g$c; # MARKER: R8 Lcom/tidal/android/feature/playerscreen/ui/g$c;
|
||||||
|
|
||||||
const/4 v9, -0x1
|
const/4 v9, -0x1
|
||||||
|
|
||||||
const/4 v10, 0x0
|
const/4 v10, 0x0
|
||||||
|
|
||||||
invoke-direct {v8, v7, v6, v9, v10}, Lcom/tidal/android/feature/playerscreen/ui/g$c;-><init>(Ljava/lang/String;Lvn0/b;IZ)V
|
invoke-direct {v8, v7, v6, v9, v10}, Lcom/tidal/android/feature/playerscreen/ui/g$c;-><init>(Ljava/lang/String;Lvn0/b;IZ)V # MARKER: R8 Lcom/tidal/android/feature/playerscreen/ui/g$c; Lvn0/b;
|
||||||
|
|
||||||
const-string v6, "publishing g$c -> K=true (O=true if sticky) N=g$c"
|
const-string v6, "publishing g$c -> K=true (O=true if sticky) N=g$c"
|
||||||
|
|
||||||
@@ -886,7 +886,7 @@
|
|||||||
|
|
||||||
sput-boolean v6, Lradiant/RLAPILyricsHook;->isRlState:Z
|
sput-boolean v6, Lradiant/RLAPILyricsHook;->isRlState:Z
|
||||||
|
|
||||||
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->K:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->K:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 K
|
||||||
|
|
||||||
sget-object v7, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
|
sget-object v7, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
|
||||||
|
|
||||||
@@ -902,7 +902,7 @@
|
|||||||
|
|
||||||
:open_lyrics
|
:open_lyrics
|
||||||
|
|
||||||
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow;
|
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 P
|
||||||
|
|
||||||
invoke-interface {v6, v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
invoke-interface {v6, v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
|||||||
@@ -20,13 +20,13 @@
|
|||||||
|
|
||||||
if-eqz p1, :ret # null guard
|
if-eqz p1, :ret # null guard
|
||||||
|
|
||||||
instance-of v0, p1, Lgh/b; # type guard
|
instance-of v0, p1, Lgh/b; # type guard MARKER: R8 Lgh/b;
|
||||||
|
|
||||||
if-eqz v0, :ret # skip if wrong type
|
if-eqz v0, :ret # skip if wrong type
|
||||||
|
|
||||||
check-cast p1, Lgh/b; # narrow type
|
check-cast p1, Lgh/b; # narrow type MARKER: R8 Lgh/b;
|
||||||
|
|
||||||
iget v0, p1, Lgh/b;->b:F # raw progress
|
iget v0, p1, Lgh/b;->b:F # raw progress MARKER: R8 Lgh/b; b
|
||||||
|
|
||||||
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z # nan check
|
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z # nan check
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lam0/a;)V
|
.method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lam0/a;)V # MARKER: R8 Lam0/a;
|
||||||
.locals 21
|
.locals 21
|
||||||
.annotation build Landroidx/compose/runtime/Composable;
|
.annotation build Landroidx/compose/runtime/Composable;
|
||||||
.end annotation
|
.end annotation
|
||||||
@@ -94,11 +94,11 @@
|
|||||||
invoke-static {v2, v3, v4, v5}, Landroidx/compose/runtime/ComposerKt;->traceEventStart(IIILjava/lang/String;)V
|
invoke-static {v2, v3, v4, v5}, Landroidx/compose/runtime/ComposerKt;->traceEventStart(IIILjava/lang/String;)V
|
||||||
|
|
||||||
:cond_3
|
:cond_3
|
||||||
sget-object v2, Lcom/squareup/ui/market/core/theme/k;->e:Lcom/squareup/ui/market/core/theme/k$a;
|
sget-object v2, Lcom/squareup/ui/market/core/theme/k;->e:Lcom/squareup/ui/market/core/theme/k$a; # MARKER: R8 Lcom/squareup/ui/market/core/theme/k; Lcom/squareup/ui/market/core/theme/k$a; e
|
||||||
|
|
||||||
const/4 v4, 0x6
|
const/4 v4, 0x6
|
||||||
|
|
||||||
invoke-static {v2, v11, v4}, Lcom/squareup/ui/market/core/theme/z;->t(Lcom/squareup/ui/market/core/theme/k$a;Landroidx/compose/runtime/Composer;I)Lcom/squareup/ui/market/core/theme/MarketStylesheet;
|
invoke-static {v2, v11, v4}, Lcom/squareup/ui/market/core/theme/z;->t(Lcom/squareup/ui/market/core/theme/k$a;Landroidx/compose/runtime/Composer;I)Lcom/squareup/ui/market/core/theme/MarketStylesheet; # MARKER: R8 Lcom/squareup/ui/market/core/theme/z; Lcom/squareup/ui/market/core/theme/k$a; t
|
||||||
|
|
||||||
move-result-object v15
|
move-result-object v15
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
|
|
||||||
const/16 v18, 0x0
|
const/16 v18, 0x0
|
||||||
|
|
||||||
invoke-static/range {v15 .. v20}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->P(Lcom/squareup/ui/market/core/theme/MarketStylesheet;Lcom/squareup/ui/market/core/components/properties/IconButton$Size;Lcom/squareup/ui/market/core/components/properties/IconButton$Rank;Lcom/squareup/ui/market/core/components/properties/IconButton$Variant;ILjava/lang/Object;)Lq20/u1;
|
invoke-static/range {v15 .. v20}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->P(Lcom/squareup/ui/market/core/theme/MarketStylesheet;Lcom/squareup/ui/market/core/components/properties/IconButton$Size;Lcom/squareup/ui/market/core/components/properties/IconButton$Rank;Lcom/squareup/ui/market/core/components/properties/IconButton$Variant;ILjava/lang/Object;)Lq20/u1; # MARKER: R8 Lq20/u1; P
|
||||||
|
|
||||||
move-result-object v4
|
move-result-object v4
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
:cond_5
|
:cond_5
|
||||||
move-object v9, v4
|
move-object v9, v4
|
||||||
|
|
||||||
check-cast v9, Lq20/u1;
|
check-cast v9, Lq20/u1; # MARKER: R8 Lq20/u1;
|
||||||
|
|
||||||
sget v2, Lcom/tidal/android/feature/playerscreen/ui/R$string;->lyrics:I
|
sget v2, Lcom/tidal/android/feature/playerscreen/ui/R$string;->lyrics:I
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
|
|
||||||
move v4, v3
|
move v4, v3
|
||||||
|
|
||||||
invoke-static {v14}, Lcom/tidal/android/feature/playerscreen/ui/composables/anim/BouncePressKt;->a(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
invoke-static {v14}, Lcom/tidal/android/feature/playerscreen/ui/composables/anim/BouncePressKt;->a(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # MARKER: R8 a
|
||||||
|
|
||||||
move-result-object v3
|
move-result-object v3
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
|
|
||||||
const/4 v8, 0x0
|
const/4 v8, 0x0
|
||||||
|
|
||||||
invoke-static/range {v1 .. v13}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->b(Lam0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Lam0/a;Ljava/lang/String;Lq20/u1;Lam0/p;Landroidx/compose/runtime/Composer;II)V
|
invoke-static/range {v1 .. v13}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->b(Lam0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Lam0/a;Ljava/lang/String;Lq20/u1;Lam0/p;Landroidx/compose/runtime/Composer;II)V # MARKER: R8 Lam0/a; Lcom/squareup/ui/market/components/n; Lq20/u1; Lam0/p; b
|
||||||
|
|
||||||
invoke-static {}, Landroidx/compose/runtime/ComposerKt;->isTraceInProgress()Z
|
invoke-static {}, Landroidx/compose/runtime/ComposerKt;->isTraceInProgress()Z
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
.source "SourceFile"
|
.source "SourceFile"
|
||||||
|
|
||||||
# interfaces
|
# interfaces
|
||||||
.implements Lam0/p;
|
.implements Lam0/p; # MARKER: R8 Lam0/p;
|
||||||
|
|
||||||
|
|
||||||
# virtual methods
|
# virtual methods
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.class public final Lradiant/SpvFactory;
|
.class public final Lradiant/SpvFactory;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
# interfaces
|
# interfaces
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
# Remembers where each line's glyphs landed
|
# Remembers where each line's glyphs landed
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# One reusable callback per line
|
# One reusable callback per line
|
||||||
.method public static cb(I)Lam0/l;
|
.method public static cb(I)Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
.locals 5
|
.locals 5
|
||||||
|
|
||||||
if-gez p0, :have_idx
|
if-gez p0, :have_idx
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
aput-object p1, v1, v0
|
aput-object p1, v1, v0
|
||||||
|
|
||||||
:ret
|
:ret
|
||||||
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object v0
|
return-object v0
|
||||||
.end method
|
.end method
|
||||||
@@ -1,521 +0,0 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerGestures$Gesture;
|
|
||||||
.super Ljava/lang/Object;
|
|
||||||
.implements Lam0/l;
|
|
||||||
|
|
||||||
# annotations
|
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
||||||
value = Lradiant/gestures/MiniPlayerGestures;
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
|
||||||
accessFlags = 0x19
|
|
||||||
name = "Gesture"
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
|
|
||||||
# instance fields
|
|
||||||
.field public final a:Lam0/l;
|
|
||||||
|
|
||||||
# Y at ACTION_DOWN
|
|
||||||
.field public b:F
|
|
||||||
|
|
||||||
# Last Y seen (on this pointer stream)
|
|
||||||
.field public c:F
|
|
||||||
|
|
||||||
# True while this listener owns an active pointer stream
|
|
||||||
.field public d:Z
|
|
||||||
|
|
||||||
# True when sheet drag has started
|
|
||||||
.field public e:Z
|
|
||||||
|
|
||||||
.field public final f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
.field public g:F
|
|
||||||
|
|
||||||
# X at ACTION_DOWN
|
|
||||||
.field public i:F
|
|
||||||
|
|
||||||
# True once horizontal movement wins (prevents later vertical start)
|
|
||||||
.field public j:Z
|
|
||||||
|
|
||||||
# Drag option enabled
|
|
||||||
.field public final k:Z
|
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
|
||||||
.method public constructor <init>(Lam0/l;Landroidx/compose/material3/SheetState;Z)V
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
||||||
|
|
||||||
iput-object p1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
iput-object p2, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
iput-boolean p3, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->k:Z
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private static dp(F)F
|
|
||||||
.locals 1
|
|
||||||
|
|
||||||
invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
|
|
||||||
|
|
||||||
move-result-object v0
|
|
||||||
|
|
||||||
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
|
|
||||||
|
|
||||||
move-result-object v0
|
|
||||||
|
|
||||||
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
|
|
||||||
|
|
||||||
mul-float/2addr p0, v0
|
|
||||||
|
|
||||||
return p0
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private dragSheet(FJ)V
|
|
||||||
.locals 1
|
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
invoke-static {v0, p1, p2, p3}, Lradiant/gestures/MiniPlayerGestures;->updateDragTimed(Landroidx/compose/material3/SheetState;FJ)V
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private finishSheet(F)V
|
|
||||||
.locals 2
|
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
iget-object v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v0, v1, p1}, Lradiant/gestures/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lam0/l;F)V
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private openPlayer()V
|
|
||||||
.locals 2
|
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b;
|
|
||||||
|
|
||||||
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private reset()V
|
|
||||||
.locals 1
|
|
||||||
|
|
||||||
const/4 v0, 0x0
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->d:Z
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->j:Z
|
|
||||||
|
|
||||||
const/4 v0, 0x0
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->i:F
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->g:F
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private startSheet(FJ)V
|
|
||||||
.locals 2
|
|
||||||
|
|
||||||
# empty player guard
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->hasMiniPlayerMedia()Z
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
if-nez v0, :start_guard
|
|
||||||
|
|
||||||
return-void
|
|
||||||
|
|
||||||
:start_guard
|
|
||||||
|
|
||||||
# avoid starting twice
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
if-eqz v0, :start
|
|
||||||
|
|
||||||
return-void
|
|
||||||
|
|
||||||
:start
|
|
||||||
const/4 v0, 0x1
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->k:Z
|
|
||||||
|
|
||||||
if-eqz v0, :done
|
|
||||||
|
|
||||||
iget-object v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
iget v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->b:F
|
|
||||||
|
|
||||||
invoke-static {v1, p1, v0, p2, p3}, Lradiant/gestures/MiniPlayerGestures;->beginDrag(Landroidx/compose/material3/SheetState;FFJ)V
|
|
||||||
|
|
||||||
invoke-direct {p0}, Lradiant/gestures/MiniPlayerGestures$Gesture;->openPlayer()V
|
|
||||||
|
|
||||||
:done
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
|
|
||||||
# virtual methods
|
|
||||||
# Listens for MotionEvents
|
|
||||||
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
|
||||||
.locals 11
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
if-eqz v0, :down
|
|
||||||
|
|
||||||
const/4 v1, 0x1
|
|
||||||
|
|
||||||
if-eq v0, v1, :up
|
|
||||||
|
|
||||||
const/4 v1, 0x2
|
|
||||||
|
|
||||||
if-eq v0, v1, :move
|
|
||||||
|
|
||||||
const/4 v1, 0x3
|
|
||||||
|
|
||||||
if-eq v0, v1, :cancel
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_DOWN
|
|
||||||
:down
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->resetGestureLock()V
|
|
||||||
|
|
||||||
invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->beginMotion(Landroid/view/MotionEvent;)V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->b:F
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->c:F
|
|
||||||
|
|
||||||
const/4 v0, 0x1
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->d:Z
|
|
||||||
|
|
||||||
const/4 v0, 0x0
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
const/4 v0, 0x0
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->g:F
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->i:F
|
|
||||||
|
|
||||||
const/4 v0, 0x0
|
|
||||||
|
|
||||||
iput-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->j:Z
|
|
||||||
|
|
||||||
iget v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->b:F
|
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->beginSwipeGesture(F)V
|
|
||||||
|
|
||||||
:skip_feedback_down
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_MOVE
|
|
||||||
:move
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->d:Z
|
|
||||||
|
|
||||||
if-eqz v0, :done
|
|
||||||
|
|
||||||
invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
|
||||||
|
|
||||||
move-result-wide v5
|
|
||||||
|
|
||||||
iget v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->c:F
|
|
||||||
|
|
||||||
sub-float v1, v0, v1
|
|
||||||
|
|
||||||
iput v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->g:F
|
|
||||||
|
|
||||||
iget v2, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->b:F
|
|
||||||
|
|
||||||
sub-float v2, v0, v2
|
|
||||||
|
|
||||||
iget-boolean v3, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
if-eqz v3, :maybe_start
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->suppressHorizontalGestures()V
|
|
||||||
|
|
||||||
iget-boolean v3, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->k:Z
|
|
||||||
|
|
||||||
if-eqz v3, :feedback_active
|
|
||||||
|
|
||||||
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/MiniPlayerGestures$Gesture;->dragSheet(FJ)V
|
|
||||||
|
|
||||||
:feedback_active
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
:maybe_start
|
|
||||||
iget-boolean v3, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->j:Z
|
|
||||||
|
|
||||||
if-eqz v3, :axis_check
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
:axis_check
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
|
||||||
|
|
||||||
move-result v7
|
|
||||||
|
|
||||||
iget v8, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->i:F
|
|
||||||
|
|
||||||
sub-float/2addr v7, v8
|
|
||||||
|
|
||||||
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
|
|
||||||
|
|
||||||
move-result v7
|
|
||||||
|
|
||||||
invoke-static {v2}, Ljava/lang/Math;->abs(F)F
|
|
||||||
|
|
||||||
move-result v8
|
|
||||||
|
|
||||||
const/high16 v9, 0x40c00000 # 6.0f axis deadzone
|
|
||||||
|
|
||||||
invoke-static {v9}, Lradiant/gestures/MiniPlayerGestures$Gesture;->dp(F)F
|
|
||||||
|
|
||||||
move-result v9
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->isHorizontalGestureLocked()Z
|
|
||||||
|
|
||||||
move-result v10
|
|
||||||
|
|
||||||
if-eqz v10, :horizontal_check
|
|
||||||
|
|
||||||
const/4 v10, 0x0
|
|
||||||
|
|
||||||
invoke-static {v10}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
:horizontal_check
|
|
||||||
|
|
||||||
cmpg-float v10, v7, v9
|
|
||||||
|
|
||||||
if-gez v10, :horizontal_dominance
|
|
||||||
|
|
||||||
goto :vertical_check
|
|
||||||
|
|
||||||
:horizontal_dominance
|
|
||||||
|
|
||||||
const v10, 0x3f8ccccd # 1.1f
|
|
||||||
|
|
||||||
mul-float/2addr v10, v8
|
|
||||||
|
|
||||||
cmpg-float v10, v7, v10
|
|
||||||
|
|
||||||
if-gez v10, :horizontal_wins
|
|
||||||
|
|
||||||
goto :vertical_check
|
|
||||||
|
|
||||||
:horizontal_wins
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->lockHorizontalGesture()Z
|
|
||||||
|
|
||||||
move-result v10
|
|
||||||
|
|
||||||
if-eqz v10, :store_last
|
|
||||||
|
|
||||||
const/4 v10, 0x1
|
|
||||||
|
|
||||||
iput-boolean v10, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->j:Z
|
|
||||||
|
|
||||||
const/4 v10, 0x0
|
|
||||||
|
|
||||||
invoke-static {v10}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
# At least 16dp up to open the player
|
|
||||||
:vertical_check
|
|
||||||
neg-float v9, v9
|
|
||||||
|
|
||||||
cmpg-float v10, v2, v9
|
|
||||||
|
|
||||||
if-lez v10, :vertical_dominance
|
|
||||||
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
:vertical_dominance
|
|
||||||
const v10, 0x3f8ccccd # 1.1f -> early vertical axis lock
|
|
||||||
|
|
||||||
mul-float/2addr v7, v10
|
|
||||||
|
|
||||||
cmpl-float v10, v8, v7
|
|
||||||
|
|
||||||
if-gtz v10, :begin
|
|
||||||
|
|
||||||
goto :store_last
|
|
||||||
|
|
||||||
:begin
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->lockVerticalGesture()Z
|
|
||||||
|
|
||||||
move-result v10
|
|
||||||
|
|
||||||
if-eqz v10, :store_last
|
|
||||||
|
|
||||||
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/MiniPlayerGestures$Gesture;->startSheet(FJ)V
|
|
||||||
|
|
||||||
iget-boolean v10, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
if-eqz v10, :store_last
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->suppressHorizontalGestures()V
|
|
||||||
|
|
||||||
iget-boolean v10, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->k:Z
|
|
||||||
|
|
||||||
if-eqz v10, :feedback_begin
|
|
||||||
|
|
||||||
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/MiniPlayerGestures$Gesture;->dragSheet(FJ)V
|
|
||||||
|
|
||||||
:feedback_begin
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
|
||||||
|
|
||||||
|
|
||||||
:store_last
|
|
||||||
iput v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->c:F
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_UP
|
|
||||||
:up
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->d:Z
|
|
||||||
|
|
||||||
if-eqz v0, :done
|
|
||||||
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
if-eqz v0, :up_no_drag
|
|
||||||
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->k:Z
|
|
||||||
|
|
||||||
if-eqz v0, :open_simple
|
|
||||||
|
|
||||||
invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
|
||||||
|
|
||||||
move-result-wide v5
|
|
||||||
|
|
||||||
iget-object v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
invoke-static {v1, v0, v5, v6}, Lradiant/gestures/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
|
||||||
|
|
||||||
invoke-static {v1}, Lradiant/gestures/MiniPlayerGestures;->releaseVelocity(Landroidx/compose/material3/SheetState;)F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
invoke-direct {p0, v0}, Lradiant/gestures/MiniPlayerGestures$Gesture;->finishSheet(F)V
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
goto :finish
|
|
||||||
|
|
||||||
:up_no_drag
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
goto :finish
|
|
||||||
|
|
||||||
:open_simple
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->suppressHorizontalGestures()V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
iget-object v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v1, v0}, Lradiant/gestures/MiniPlayerGestures;->completeSimpleSwipe(Lam0/l;F)Z
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
|
|
||||||
:finish
|
|
||||||
invoke-direct {p0}, Lradiant/gestures/MiniPlayerGestures$Gesture;->reset()V
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_CANCEL
|
|
||||||
:cancel
|
|
||||||
iget-boolean v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->e:Z
|
|
||||||
|
|
||||||
if-eqz v0, :cancel_no_active
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
iget-object v1, p0, Lradiant/gestures/MiniPlayerGestures$Gesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v0, v1}, Lradiant/gestures/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lam0/l;)V
|
|
||||||
|
|
||||||
goto :cancel_reset
|
|
||||||
|
|
||||||
:cancel_no_active
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
:cancel_reset
|
|
||||||
invoke-direct {p0}, Lradiant/gestures/MiniPlayerGestures$Gesture;->reset()V
|
|
||||||
|
|
||||||
|
|
||||||
:done
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
check-cast p1, Landroid/view/MotionEvent;
|
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
|
||||||
|
|
||||||
move-result-object p1
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
@@ -1,178 +0,0 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerGestures$RootGesture;
|
|
||||||
.super Ljava/lang/Object;
|
|
||||||
.implements Lam0/l;
|
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
||||||
value = Lradiant/gestures/MiniPlayerGestures;
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
|
||||||
accessFlags = 0x19
|
|
||||||
name = "RootGesture"
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
|
|
||||||
# instance fields
|
|
||||||
.field public final a:Lam0/l;
|
|
||||||
|
|
||||||
.field public final b:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
|
||||||
.method public constructor <init>(Lam0/l;Landroidx/compose/material3/SheetState;)V
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
||||||
|
|
||||||
iput-object p1, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
iput-object p2, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
|
|
||||||
# virtual methods
|
|
||||||
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
|
||||||
.locals 6
|
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
||||||
|
|
||||||
move-result v1
|
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z
|
|
||||||
|
|
||||||
move-result v2
|
|
||||||
|
|
||||||
if-eqz v2, :maybe_reset_only
|
|
||||||
|
|
||||||
const/4 v2, 0x1
|
|
||||||
|
|
||||||
if-eq v1, v2, :up
|
|
||||||
|
|
||||||
const/4 v2, 0x2
|
|
||||||
|
|
||||||
if-eq v1, v2, :move
|
|
||||||
|
|
||||||
const/4 v2, 0x3
|
|
||||||
|
|
||||||
if-eq v1, v2, :cancel
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
:maybe_reset_only
|
|
||||||
const/4 v2, 0x1
|
|
||||||
|
|
||||||
if-eq v1, v2, :simple_up
|
|
||||||
|
|
||||||
const/4 v2, 0x3
|
|
||||||
|
|
||||||
if-eq v1, v2, :reset_only
|
|
||||||
|
|
||||||
const/4 v2, 0x2
|
|
||||||
|
|
||||||
if-eq v1, v2, :simple_move
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
:reset_only
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->resetGestureLock()V
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
:simple_move
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v1
|
|
||||||
|
|
||||||
invoke-static {v1}, Lradiant/gestures/MiniPlayerGestures;->updateSimpleSwipe(F)Z
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
:simple_up
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v1
|
|
||||||
|
|
||||||
iget-object v2, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v2, v1}, Lradiant/gestures/MiniPlayerGestures;->completeSimpleSwipe(Lam0/l;F)Z
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
|
|
||||||
# ACTION_MOVE
|
|
||||||
:move
|
|
||||||
invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v2
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
|
||||||
|
|
||||||
move-result-wide v4
|
|
||||||
|
|
||||||
invoke-static {v0, v2, v4, v5}, Lradiant/gestures/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_UP
|
|
||||||
:up
|
|
||||||
invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
|
||||||
|
|
||||||
move-result v1
|
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
|
||||||
|
|
||||||
move-result-wide v4
|
|
||||||
|
|
||||||
invoke-static {v0, v1, v4, v5}, Lradiant/gestures/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->releaseVelocity(Landroidx/compose/material3/SheetState;)F
|
|
||||||
|
|
||||||
move-result v1
|
|
||||||
|
|
||||||
iget-object v2, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v0, v2, v1}, Lradiant/gestures/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lam0/l;F)V
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
goto :done
|
|
||||||
|
|
||||||
# ACTION_CANCEL
|
|
||||||
:cancel
|
|
||||||
iget-object v2, p0, Lradiant/gestures/MiniPlayerGestures$RootGesture;->a:Lam0/l;
|
|
||||||
|
|
||||||
invoke-static {v0, v2}, Lradiant/gestures/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lam0/l;)V
|
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
|
||||||
|
|
||||||
:done
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
check-cast p1, Landroid/view/MotionEvent;
|
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerGestures$RootGesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
|
||||||
|
|
||||||
move-result-object p1
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;
|
|
||||||
.super Ljava/lang/Object;
|
|
||||||
.implements Lam0/l;
|
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
||||||
value = Lradiant/gestures/MiniPlayerTrackGestures;
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
|
||||||
accessFlags = 0x19
|
|
||||||
name = "OffsetLayer"
|
|
||||||
.end annotation
|
|
||||||
|
|
||||||
|
|
||||||
# static fields
|
|
||||||
.field public static final INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;
|
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
|
||||||
.method static constructor <clinit>()V
|
|
||||||
.locals 1
|
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;
|
|
||||||
|
|
||||||
invoke-direct {v0}, Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;-><init>()V
|
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method private constructor <init>()V
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
||||||
|
|
||||||
return-void
|
|
||||||
.end method
|
|
||||||
|
|
||||||
|
|
||||||
# virtual methods
|
|
||||||
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u;
|
|
||||||
.locals 1
|
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
|
||||||
|
|
||||||
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
|
||||||
|
|
||||||
move-result v0
|
|
||||||
|
|
||||||
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationX(F)V
|
|
||||||
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
|
|
||||||
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
|
||||||
.locals 0
|
|
||||||
|
|
||||||
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
|
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u;
|
|
||||||
|
|
||||||
move-result-object p1
|
|
||||||
|
|
||||||
return-object p1
|
|
||||||
.end method
|
|
||||||
+6
-6
@@ -1,4 +1,4 @@
|
|||||||
.class public final Lradiant/gestures/LyricsDrag$Guard;
|
.class public final Lradiant/gestures/lyrics/LyricsDrag$Guard;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
# interfaces
|
# interfaces
|
||||||
@@ -9,17 +9,17 @@
|
|||||||
|
|
||||||
# static state
|
# static state
|
||||||
|
|
||||||
.field public static final INSTANCE:Lradiant/gestures/LyricsDrag$Guard;
|
.field public static final INSTANCE:Lradiant/gestures/lyrics/LyricsDrag$Guard;
|
||||||
|
|
||||||
|
|
||||||
.method static constructor <clinit>()V
|
.method static constructor <clinit>()V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/LyricsDrag$Guard;
|
new-instance v0, Lradiant/gestures/lyrics/LyricsDrag$Guard;
|
||||||
|
|
||||||
invoke-direct {v0}, Lradiant/gestures/LyricsDrag$Guard;-><init>()V
|
invoke-direct {v0}, Lradiant/gestures/lyrics/LyricsDrag$Guard;-><init>()V
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/LyricsDrag$Guard;->INSTANCE:Lradiant/gestures/LyricsDrag$Guard;
|
sput-object v0, Lradiant/gestures/lyrics/LyricsDrag$Guard;->INSTANCE:Lradiant/gestures/lyrics/LyricsDrag$Guard;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
return-wide p3
|
return-wide p3
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
.method public onPostFling-RZ2iAVY(JJLkotlin/coroutines/e;)Ljava/lang/Object;
|
.method public onPostFling-RZ2iAVY(JJLkotlin/coroutines/e;)Ljava/lang/Object; # MARKER: R8 Lkotlin/coroutines/e;
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
invoke-static {p3, p4}, Landroidx/compose/ui/unit/Velocity;->box-impl(J)Landroidx/compose/ui/unit/Velocity;
|
invoke-static {p3, p4}, Landroidx/compose/ui/unit/Velocity;->box-impl(J)Landroidx/compose/ui/unit/Velocity;
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
.class public final Lradiant/gestures/LyricsDrag;
|
.class public final Lradiant/gestures/lyrics/LyricsDrag;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
# Stops lyrics scroll dismissing the player
|
# Stops lyrics scroll dismissing the player
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
.method public static wrap(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
.method public static wrap(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/LyricsDrag$Guard;->INSTANCE:Lradiant/gestures/LyricsDrag$Guard;
|
sget-object v0, Lradiant/gestures/lyrics/LyricsDrag$Guard;->INSTANCE:Lradiant/gestures/lyrics/LyricsDrag$Guard;
|
||||||
|
|
||||||
const/4 v1, 0x0
|
const/4 v1, 0x0
|
||||||
|
|
||||||
+9
-9
@@ -1,10 +1,10 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerGestures$ApplyPending;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Ljava/lang/Runnable;
|
.implements Ljava/lang/Runnable;
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
|
|
||||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
iput-object p1, p0, Lradiant/gestures/MiniPlayerGestures$ApplyPending;->a:Landroidx/compose/material3/SheetState;
|
iput-object p1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending;->a:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
iput p2, p0, Lradiant/gestures/MiniPlayerGestures$ApplyPending;->b:I
|
iput p2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending;->b:I
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -39,23 +39,23 @@
|
|||||||
.method public final run()V
|
.method public final run()V
|
||||||
.locals 3
|
.locals 3
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerGestures$ApplyPending;->a:Landroidx/compose/material3/SheetState;
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending;->a:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->applyPendingDrag(Landroidx/compose/material3/SheetState;)V
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->applyPendingDrag(Landroidx/compose/material3/SheetState;)V
|
||||||
|
|
||||||
iget v1, p0, Lradiant/gestures/MiniPlayerGestures$ApplyPending;->b:I
|
iget v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending;->b:I
|
||||||
|
|
||||||
add-int/lit8 v1, v1, -0x1
|
add-int/lit8 v1, v1, -0x1
|
||||||
|
|
||||||
if-lez v1, :done
|
if-lez v1, :done
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->needsApply(Landroidx/compose/material3/SheetState;)Z
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->needsApply(Landroidx/compose/material3/SheetState;)Z
|
||||||
|
|
||||||
move-result v2
|
move-result v2
|
||||||
|
|
||||||
if-eqz v2, :done
|
if-eqz v2, :done
|
||||||
|
|
||||||
invoke-static {v0, v1}, Lradiant/gestures/MiniPlayerGestures;->scheduleApply(Landroidx/compose/material3/SheetState;I)V
|
invoke-static {v0, v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->scheduleApply(Landroidx/compose/material3/SheetState;I)V
|
||||||
|
|
||||||
:done
|
:done
|
||||||
return-void
|
return-void
|
||||||
+11
-11
@@ -1,11 +1,11 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -15,18 +15,18 @@
|
|||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
.field public static final INSTANCE:Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;
|
.field public static final INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method static constructor <clinit>()V
|
.method static constructor <clinit>()V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;
|
new-instance v0, Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;
|
||||||
|
|
||||||
invoke-direct {v0}, Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;-><init>()V
|
invoke-direct {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;-><init>()V
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;->INSTANCE:Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;->INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -41,10 +41,10 @@
|
|||||||
|
|
||||||
|
|
||||||
# virtual methods
|
# virtual methods
|
||||||
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u;
|
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerGestures;->v:Landroidx/compose/runtime/MutableFloatState;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerGestures;->v:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationY(F)V
|
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationY(F)V
|
||||||
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object p1
|
return-object p1
|
||||||
.end method
|
.end method
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
|
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerGestures$FeedbackLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u;
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
move-result-object p1
|
move-result-object p1
|
||||||
|
|
||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerGestures$FeedbackResetAnimator;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerGestures$FeedbackResetAnimator;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
|
|
||||||
invoke-static {v1}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
invoke-static {v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
||||||
|
|
||||||
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
if-gez v1, :done
|
if-gez v1, :done
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerGestures;->clearSwipeFeedbackAnimator(Landroid/animation/ValueAnimator;)V
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->clearSwipeFeedbackAnimator(Landroid/animation/ValueAnimator;)V
|
||||||
|
|
||||||
:done
|
:done
|
||||||
return-void
|
return-void
|
||||||
@@ -0,0 +1,521 @@
|
|||||||
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/miniplayer/MiniPlayerGestures;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "Gesture"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
# Y at ACTION_DOWN
|
||||||
|
.field public b:F
|
||||||
|
|
||||||
|
# Last Y seen (on this pointer stream)
|
||||||
|
.field public c:F
|
||||||
|
|
||||||
|
# True while this listener owns an active pointer stream
|
||||||
|
.field public d:Z
|
||||||
|
|
||||||
|
# True when sheet drag has started
|
||||||
|
.field public e:Z
|
||||||
|
|
||||||
|
.field public final f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
.field public g:F
|
||||||
|
|
||||||
|
# X at ACTION_DOWN
|
||||||
|
.field public i:F
|
||||||
|
|
||||||
|
# True once horizontal movement wins (prevents later vertical start)
|
||||||
|
.field public j:Z
|
||||||
|
|
||||||
|
# Drag option enabled
|
||||||
|
.field public final k:Z
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Landroidx/compose/material3/SheetState;Z)V # MARKER: R8 Lam0/l;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
iput-boolean p3, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->k:Z
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private static dp(F)F
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
|
||||||
|
|
||||||
|
mul-float/2addr p0, v0
|
||||||
|
|
||||||
|
return p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private dragSheet(FJ)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
invoke-static {v0, p1, p2, p3}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->updateDragTimed(Landroidx/compose/material3/SheetState;FJ)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private finishSheet(F)V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v0, v1, p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lam0/l;F)V # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private openPlayer()V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b; # MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/b$b; a
|
||||||
|
|
||||||
|
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private reset()V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->d:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->j:Z
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->i:F
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->g:F
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private startSheet(FJ)V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
# empty player guard
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->hasMiniPlayerMedia()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :start_guard
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:start_guard
|
||||||
|
|
||||||
|
# avoid starting twice
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
if-eqz v0, :start
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:start
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->k:Z
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
iget v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->b:F
|
||||||
|
|
||||||
|
invoke-static {v1, p1, v0, p2, p3}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->beginDrag(Landroidx/compose/material3/SheetState;FFJ)V
|
||||||
|
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->openPlayer()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
# Listens for MotionEvents
|
||||||
|
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
.locals 11
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :down
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-eq v0, v1, :up
|
||||||
|
|
||||||
|
const/4 v1, 0x2
|
||||||
|
|
||||||
|
if-eq v0, v1, :move
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v0, v1, :cancel
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_DOWN
|
||||||
|
:down
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->resetGestureLock()V
|
||||||
|
|
||||||
|
invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->beginMotion(Landroid/view/MotionEvent;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->b:F
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->c:F
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->d:Z
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->g:F
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->i:F
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->j:Z
|
||||||
|
|
||||||
|
iget v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->b:F
|
||||||
|
|
||||||
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->beginSwipeGesture(F)V
|
||||||
|
|
||||||
|
:skip_feedback_down
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_MOVE
|
||||||
|
:move
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->d:Z
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
||||||
|
|
||||||
|
move-result-wide v5
|
||||||
|
|
||||||
|
iget v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->c:F
|
||||||
|
|
||||||
|
sub-float v1, v0, v1
|
||||||
|
|
||||||
|
iput v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->g:F
|
||||||
|
|
||||||
|
iget v2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->b:F
|
||||||
|
|
||||||
|
sub-float v2, v0, v2
|
||||||
|
|
||||||
|
iget-boolean v3, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
if-eqz v3, :maybe_start
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->suppressHorizontalGestures()V
|
||||||
|
|
||||||
|
iget-boolean v3, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->k:Z
|
||||||
|
|
||||||
|
if-eqz v3, :feedback_active
|
||||||
|
|
||||||
|
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->dragSheet(FJ)V
|
||||||
|
|
||||||
|
:feedback_active
|
||||||
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
:maybe_start
|
||||||
|
iget-boolean v3, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->j:Z
|
||||||
|
|
||||||
|
if-eqz v3, :axis_check
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
:axis_check
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
iget v8, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->i:F
|
||||||
|
|
||||||
|
sub-float/2addr v7, v8
|
||||||
|
|
||||||
|
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
const/high16 v9, 0x40c00000 # 6.0f axis deadzone
|
||||||
|
|
||||||
|
invoke-static {v9}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->dp(F)F
|
||||||
|
|
||||||
|
move-result v9
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->isHorizontalGestureLocked()Z
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
if-eqz v10, :horizontal_check
|
||||||
|
|
||||||
|
const/4 v10, 0x0
|
||||||
|
|
||||||
|
invoke-static {v10}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
:horizontal_check
|
||||||
|
|
||||||
|
cmpg-float v10, v7, v9
|
||||||
|
|
||||||
|
if-gez v10, :horizontal_dominance
|
||||||
|
|
||||||
|
goto :vertical_check
|
||||||
|
|
||||||
|
:horizontal_dominance
|
||||||
|
|
||||||
|
const v10, 0x3f8ccccd # 1.1f
|
||||||
|
|
||||||
|
mul-float/2addr v10, v8
|
||||||
|
|
||||||
|
cmpg-float v10, v7, v10
|
||||||
|
|
||||||
|
if-gez v10, :horizontal_wins
|
||||||
|
|
||||||
|
goto :vertical_check
|
||||||
|
|
||||||
|
:horizontal_wins
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->lockHorizontalGesture()Z
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
if-eqz v10, :store_last
|
||||||
|
|
||||||
|
const/4 v10, 0x1
|
||||||
|
|
||||||
|
iput-boolean v10, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->j:Z
|
||||||
|
|
||||||
|
const/4 v10, 0x0
|
||||||
|
|
||||||
|
invoke-static {v10}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
# At least 16dp up to open the player
|
||||||
|
:vertical_check
|
||||||
|
neg-float v9, v9
|
||||||
|
|
||||||
|
cmpg-float v10, v2, v9
|
||||||
|
|
||||||
|
if-lez v10, :vertical_dominance
|
||||||
|
|
||||||
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
:vertical_dominance
|
||||||
|
const v10, 0x3f8ccccd # 1.1f -> early vertical axis lock
|
||||||
|
|
||||||
|
mul-float/2addr v7, v10
|
||||||
|
|
||||||
|
cmpl-float v10, v8, v7
|
||||||
|
|
||||||
|
if-gtz v10, :begin
|
||||||
|
|
||||||
|
goto :store_last
|
||||||
|
|
||||||
|
:begin
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->lockVerticalGesture()Z
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
if-eqz v10, :store_last
|
||||||
|
|
||||||
|
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->startSheet(FJ)V
|
||||||
|
|
||||||
|
iget-boolean v10, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
if-eqz v10, :store_last
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->suppressHorizontalGestures()V
|
||||||
|
|
||||||
|
iget-boolean v10, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->k:Z
|
||||||
|
|
||||||
|
if-eqz v10, :feedback_begin
|
||||||
|
|
||||||
|
invoke-direct {p0, v2, v5, v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->dragSheet(FJ)V
|
||||||
|
|
||||||
|
:feedback_begin
|
||||||
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackFromDrag(F)V
|
||||||
|
|
||||||
|
|
||||||
|
:store_last
|
||||||
|
iput v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->c:F
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_UP
|
||||||
|
:up
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->d:Z
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
if-eqz v0, :up_no_drag
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->k:Z
|
||||||
|
|
||||||
|
if-eqz v0, :open_simple
|
||||||
|
|
||||||
|
invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
||||||
|
|
||||||
|
move-result-wide v5
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
invoke-static {v1, v0, v5, v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
||||||
|
|
||||||
|
invoke-static {v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->releaseVelocity(Landroidx/compose/material3/SheetState;)F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-direct {p0, v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->finishSheet(F)V
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
goto :finish
|
||||||
|
|
||||||
|
:up_no_drag
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
goto :finish
|
||||||
|
|
||||||
|
:open_simple
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->suppressHorizontalGestures()V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v1, v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->completeSimpleSwipe(Lam0/l;F)Z # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
|
||||||
|
:finish
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->reset()V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_CANCEL
|
||||||
|
:cancel
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->e:Z
|
||||||
|
|
||||||
|
if-eqz v0, :cancel_no_active
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lam0/l;)V # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
goto :cancel_reset
|
||||||
|
|
||||||
|
:cancel_no_active
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
:cancel_reset
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->reset()V
|
||||||
|
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
check-cast p1, Landroid/view/MotionEvent;
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,178 @@
|
|||||||
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/miniplayer/MiniPlayerGestures;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "RootGesture"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field public final b:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Landroidx/compose/material3/SheetState;)V # MARKER: R8 Lam0/l;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :maybe_reset_only
|
||||||
|
|
||||||
|
const/4 v2, 0x1
|
||||||
|
|
||||||
|
if-eq v1, v2, :up
|
||||||
|
|
||||||
|
const/4 v2, 0x2
|
||||||
|
|
||||||
|
if-eq v1, v2, :move
|
||||||
|
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-eq v1, v2, :cancel
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:maybe_reset_only
|
||||||
|
const/4 v2, 0x1
|
||||||
|
|
||||||
|
if-eq v1, v2, :simple_up
|
||||||
|
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-eq v1, v2, :reset_only
|
||||||
|
|
||||||
|
const/4 v2, 0x2
|
||||||
|
|
||||||
|
if-eq v1, v2, :simple_move
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:reset_only
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->resetGestureLock()V
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:simple_move
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
invoke-static {v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->updateSimpleSwipe(F)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:simple_up
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v2, v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->completeSimpleSwipe(Lam0/l;F)Z # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
|
||||||
|
# ACTION_MOVE
|
||||||
|
:move
|
||||||
|
invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
||||||
|
|
||||||
|
move-result-wide v4
|
||||||
|
|
||||||
|
invoke-static {v0, v2, v4, v5}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_UP
|
||||||
|
:up
|
||||||
|
invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->trackMotion(Landroid/view/MotionEvent;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getEventTime()J
|
||||||
|
|
||||||
|
move-result-wide v4
|
||||||
|
|
||||||
|
invoke-static {v0, v1, v4, v5}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->updateDragToYTimed(Landroidx/compose/material3/SheetState;FJ)V
|
||||||
|
|
||||||
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->releaseVelocity(Landroidx/compose/material3/SheetState;)F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v0, v2, v1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lam0/l;F)V # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
# ACTION_CANCEL
|
||||||
|
:cancel
|
||||||
|
iget-object v2, p0, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {v0, v2}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lam0/l;)V # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->animateSwipeFeedbackReset()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
check-cast p1, Landroid/view/MotionEvent;
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures$RootGesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
+193
-193
File diff suppressed because it is too large.
Load diff
+23
-23
@@ -1,11 +1,11 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerTrackGestures$Gesture;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerTrackGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -15,16 +15,16 @@
|
|||||||
|
|
||||||
|
|
||||||
# instance fields
|
# instance fields
|
||||||
.field public final a:Lam0/l;
|
.field public final a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method public constructor <init>(Lam0/l;)V
|
.method public constructor <init>(Lam0/l;)V # MARKER: R8 Lam0/l;
|
||||||
.locals 0
|
.locals 0
|
||||||
|
|
||||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
iput-object p1, p0, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->a:Lam0/l;
|
iput-object p1, p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -32,11 +32,11 @@
|
|||||||
.method private nextTrack()V
|
.method private nextTrack()V
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->a:Lam0/l;
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/r$a;->a:Lcom/tidal/android/feature/appscaffold/ui/r$a; # Tidal's built-in next track mini-player event
|
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/r$a;->a:Lcom/tidal/android/feature/appscaffold/ui/r$a; # Tidal's built-in next track mini-player event MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$a; a
|
||||||
|
|
||||||
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -44,18 +44,18 @@
|
|||||||
.method private previousTrack()V
|
.method private previousTrack()V
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
iget-object v0, p0, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->a:Lam0/l;
|
iget-object v0, p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->a:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/r$c;->a:Lcom/tidal/android/feature/appscaffold/ui/r$c; # Our synthetic previous track event
|
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/r$c;->a:Lcom/tidal/android/feature/appscaffold/ui/r$c; # Our synthetic previous track event MARKER: R8 Lcom/tidal/android/feature/appscaffold/ui/r$c; a
|
||||||
|
|
||||||
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
invoke-interface {v0, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
|
|
||||||
# virtual methods
|
# virtual methods
|
||||||
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
.locals 3
|
.locals 3
|
||||||
|
|
||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
invoke-static {v0, v1}, Lradiant/gestures/MiniPlayerTrackGestures;->beginDrag(FF)V
|
invoke-static {v0, v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->beginDrag(FF)V
|
||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
# ACTION_MOVE
|
# ACTION_MOVE
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
invoke-static {v0, v1}, Lradiant/gestures/MiniPlayerTrackGestures;->moveDrag(FF)V
|
invoke-static {v0, v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->moveDrag(FF)V
|
||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
# ACTION_UP
|
# ACTION_UP
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
invoke-static {v0, v1}, Lradiant/gestures/MiniPlayerTrackGestures;->finishDrag(FF)I
|
invoke-static {v0, v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->finishDrag(FF)I
|
||||||
|
|
||||||
move-result v0
|
move-result v0
|
||||||
|
|
||||||
@@ -117,22 +117,22 @@
|
|||||||
# Negative result = swipe left -> next. Positive result = swipe right -> previous
|
# Negative result = swipe left -> next. Positive result = swipe right -> previous
|
||||||
if-gez v0, :previous
|
if-gez v0, :previous
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->suppressTapOpen()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->suppressTapOpen()V
|
||||||
invoke-direct {p0}, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->nextTrack()V
|
invoke-direct {p0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->nextTrack()V
|
||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
:previous
|
:previous
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->suppressTapOpen()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->suppressTapOpen()V
|
||||||
invoke-direct {p0}, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->previousTrack()V
|
invoke-direct {p0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->previousTrack()V
|
||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
# ACTION_CANCEL
|
# ACTION_CANCEL
|
||||||
:cancel
|
:cancel
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->cancelDrag()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->cancelDrag()V
|
||||||
|
|
||||||
:done
|
:done
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object p1
|
return-object p1
|
||||||
.end method
|
.end method
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
|
|
||||||
check-cast p1, Landroid/view/MotionEvent;
|
check-cast p1, Landroid/view/MotionEvent;
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u;
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
move-result-object p1
|
move-result-object p1
|
||||||
|
|
||||||
+70
@@ -0,0 +1,70 @@
|
|||||||
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "OffsetLayer"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field public static final INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method static constructor <clinit>()V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;
|
||||||
|
|
||||||
|
invoke-direct {v0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;-><init>()V
|
||||||
|
|
||||||
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private constructor <init>()V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationX(F)V
|
||||||
|
|
||||||
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerTrackGestures$ResetAnimator;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$ResetAnimator;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerTrackGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
|
|
||||||
invoke-static {v1}, Lradiant/gestures/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
invoke-static {v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
||||||
|
|
||||||
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
if-gez v1, :done
|
if-gez v1, :done
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerTrackGestures;->clearResetAnimator(Landroid/animation/ValueAnimator;)V
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->clearResetAnimator(Landroid/animation/ValueAnimator;)V
|
||||||
|
|
||||||
:done
|
:done
|
||||||
|
|
||||||
+11
-11
@@ -1,11 +1,11 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
.implements Lam0/l;
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
value = Lradiant/gestures/MiniPlayerTrackGestures;
|
value = Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;
|
||||||
.end annotation
|
.end annotation
|
||||||
|
|
||||||
.annotation system Ldalvik/annotation/InnerClass;
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
@@ -15,18 +15,18 @@
|
|||||||
|
|
||||||
|
|
||||||
# static fields
|
# static fields
|
||||||
.field public static final INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;
|
.field public static final INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;
|
||||||
|
|
||||||
|
|
||||||
# direct methods
|
# direct methods
|
||||||
.method static constructor <clinit>()V
|
.method static constructor <clinit>()V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;
|
new-instance v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;
|
||||||
|
|
||||||
invoke-direct {v0}, Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;-><init>()V
|
invoke-direct {v0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;-><init>()V
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -41,10 +41,10 @@
|
|||||||
|
|
||||||
|
|
||||||
# virtual methods
|
# virtual methods
|
||||||
.method public final invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u;
|
.method public final invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
.locals 12
|
.locals 12
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
|
|
||||||
invoke-interface {v7, v8, v9}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->setSize-uvyYCjk(J)V
|
invoke-interface {v7, v8, v9}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->setSize-uvyYCjk(J)V
|
||||||
|
|
||||||
sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
return-object p1
|
return-object p1
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
|
|
||||||
check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;
|
check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;
|
||||||
|
|
||||||
invoke-virtual {p0, p1}, Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u;
|
invoke-virtual {p0, p1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
move-result-object p1
|
move-result-object p1
|
||||||
|
|
||||||
+72
-72
@@ -1,4 +1,4 @@
|
|||||||
.class public final Lradiant/gestures/MiniPlayerTrackGestures;
|
.class public final Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;
|
||||||
.super Ljava/lang/Object;
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
move-result-object v0
|
move-result-object v0
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
.method public static animateReset()V
|
.method public static animateReset()V
|
||||||
.locals 7
|
.locals 7
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
if-eqz v0, :read_offset
|
if-eqz v0, :read_offset
|
||||||
|
|
||||||
@@ -56,10 +56,10 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
:read_offset
|
:read_offset
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
@@ -105,20 +105,20 @@
|
|||||||
|
|
||||||
invoke-virtual {v1, v0}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
|
invoke-virtual {v1, v0}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/MiniPlayerTrackGestures$ResetAnimator;
|
new-instance v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$ResetAnimator;
|
||||||
|
|
||||||
invoke-direct {v0}, Lradiant/gestures/MiniPlayerTrackGestures$ResetAnimator;-><init>()V
|
invoke-direct {v0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$ResetAnimator;-><init>()V
|
||||||
|
|
||||||
invoke-virtual {v1, v0}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
|
invoke-virtual {v1, v0}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
|
||||||
|
|
||||||
sput-object v1, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sput-object v1, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
invoke-virtual {v1}, Landroid/animation/ValueAnimator;->start()V
|
invoke-virtual {v1}, Landroid/animation/ValueAnimator;->start()V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
|
|
||||||
:snap_zero
|
:snap_zero
|
||||||
invoke-static {v3}, Lradiant/gestures/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
invoke-static {v3}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -126,21 +126,21 @@
|
|||||||
.method public static beginDrag(FF)V
|
.method public static beginDrag(FF)V
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->resetGestureLock()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->resetGestureLock()V
|
||||||
|
|
||||||
sput p0, Lradiant/gestures/MiniPlayerTrackGestures;->e:F
|
sput p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->e:F
|
||||||
|
|
||||||
sput p1, Lradiant/gestures/MiniPlayerTrackGestures;->f:F
|
sput p1, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->f:F
|
||||||
|
|
||||||
const/4 v0, 0x1
|
const/4 v0, 0x1
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
if-eqz v0, :zero
|
if-eqz v0, :zero
|
||||||
|
|
||||||
@@ -148,12 +148,12 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
:zero
|
:zero
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
invoke-static {v0}, Lradiant/gestures/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
invoke-static {v0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -163,11 +163,11 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -175,13 +175,13 @@
|
|||||||
.method public static clearResetAnimator(Landroid/animation/ValueAnimator;)V
|
.method public static clearResetAnimator(Landroid/animation/ValueAnimator;)V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
if-ne v0, p0, :done
|
if-ne v0, p0, :done
|
||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
:done
|
:done
|
||||||
return-void
|
return-void
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
.method public static finishDrag(FF)I
|
.method public static finishDrag(FF)I
|
||||||
.locals 5
|
.locals 5
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->isAnyDragging()Z
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->isAnyDragging()Z
|
||||||
|
|
||||||
move-result v0
|
move-result v0
|
||||||
|
|
||||||
@@ -198,17 +198,17 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
return v0
|
return v0
|
||||||
|
|
||||||
:check_active
|
:check_active
|
||||||
|
|
||||||
sget-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sget-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
if-nez v0, :active
|
if-nez v0, :active
|
||||||
|
|
||||||
@@ -219,26 +219,26 @@
|
|||||||
:active
|
:active
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
sget-boolean v1, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sget-boolean v1, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
sget v2, Lradiant/gestures/MiniPlayerTrackGestures;->e:F
|
sget v2, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->e:F
|
||||||
|
|
||||||
sub-float/2addr p0, v2
|
sub-float/2addr p0, v2
|
||||||
|
|
||||||
sget v2, Lradiant/gestures/MiniPlayerTrackGestures;->f:F
|
sget v2, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->f:F
|
||||||
|
|
||||||
sub-float/2addr p1, v2
|
sub-float/2addr p1, v2
|
||||||
|
|
||||||
if-eqz v1, :reset
|
if-eqz v1, :reset
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->suppressTapOpen()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->suppressTapOpen()V
|
||||||
|
|
||||||
:reset
|
:reset
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
invoke-static {p0}, Ljava/lang/Math;->abs(F)F
|
invoke-static {p0}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
|
|
||||||
const/high16 v2, 0x42400000 # 48.0f -> at least 48dp horizontal swipe
|
const/high16 v2, 0x42400000 # 48.0f -> at least 48dp horizontal swipe
|
||||||
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerTrackGestures;->dp(F)F
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->dp(F)F
|
||||||
|
|
||||||
move-result v2
|
move-result v2
|
||||||
|
|
||||||
@@ -291,11 +291,11 @@
|
|||||||
.method public static moveDrag(FF)V
|
.method public static moveDrag(FF)V
|
||||||
.locals 6
|
.locals 6
|
||||||
|
|
||||||
sget-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sget-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
if-eqz v0, :done
|
if-eqz v0, :done
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->isAnyDragging()Z
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->isAnyDragging()Z
|
||||||
|
|
||||||
move-result v0
|
move-result v0
|
||||||
|
|
||||||
@@ -303,20 +303,20 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
:move_continue
|
:move_continue
|
||||||
sget v0, Lradiant/gestures/MiniPlayerTrackGestures;->e:F
|
sget v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->e:F
|
||||||
|
|
||||||
sub-float/2addr p0, v0
|
sub-float/2addr p0, v0
|
||||||
|
|
||||||
sget v0, Lradiant/gestures/MiniPlayerTrackGestures;->f:F
|
sget v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->f:F
|
||||||
|
|
||||||
sub-float/2addr p1, v0
|
sub-float/2addr p1, v0
|
||||||
|
|
||||||
@@ -328,13 +328,13 @@
|
|||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
|
|
||||||
sget-boolean v2, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sget-boolean v2, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
if-nez v2, :publish
|
if-nez v2, :publish
|
||||||
|
|
||||||
const/high16 v2, 0x40c00000 # 6.0f dp dead zone
|
const/high16 v2, 0x40c00000 # 6.0f dp dead zone
|
||||||
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerTrackGestures;->dp(F)F
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->dp(F)F
|
||||||
|
|
||||||
move-result v2
|
move-result v2
|
||||||
|
|
||||||
@@ -356,7 +356,7 @@
|
|||||||
goto :done
|
goto :done
|
||||||
|
|
||||||
:accept
|
:accept
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerGestures;->lockHorizontalGesture()Z
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->lockHorizontalGesture()Z
|
||||||
|
|
||||||
move-result v2
|
move-result v2
|
||||||
|
|
||||||
@@ -364,16 +364,16 @@
|
|||||||
|
|
||||||
const/4 v2, 0x1
|
const/4 v2, 0x1
|
||||||
|
|
||||||
sput-boolean v2, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v2, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
:publish
|
:publish
|
||||||
const/4 v2, 0x0
|
const/4 v2, 0x0
|
||||||
|
|
||||||
invoke-static {v2}, Lradiant/gestures/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
invoke-static {v2}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSwipeFeedbackDirect(F)V
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->suppressTapOpen()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->suppressTapOpen()V
|
||||||
|
|
||||||
invoke-static {p0}, Lradiant/gestures/MiniPlayerTrackGestures;->setDragOffset(F)V
|
invoke-static {p0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->setDragOffset(F)V
|
||||||
|
|
||||||
:done
|
:done
|
||||||
return-void
|
return-void
|
||||||
@@ -381,11 +381,11 @@
|
|||||||
:cancel_locked
|
:cancel_locked
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->g:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->g:Z
|
||||||
|
|
||||||
sput-boolean v0, Lradiant/gestures/MiniPlayerTrackGestures;->h:Z
|
sput-boolean v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->h:Z
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
goto :done
|
goto :done
|
||||||
.end method
|
.end method
|
||||||
@@ -417,9 +417,9 @@
|
|||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$OffsetLayer;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer;
|
||||||
|
|
||||||
invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier;
|
invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
@@ -429,9 +429,9 @@
|
|||||||
.method public static textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
.method public static textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/gestures/MiniPlayerTrackGestures$TextDraw; # text clip on right only
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw; # text clip on right only
|
||||||
|
|
||||||
invoke-static {p0, v0}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier;
|
invoke-static {p0, v0}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
@@ -441,7 +441,7 @@
|
|||||||
.method public static onRenderedItem(Ljava/lang/Object;)V
|
.method public static onRenderedItem(Ljava/lang/Object;)V
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
||||||
|
|
||||||
if-eqz v0, :store_initial
|
if-eqz v0, :store_initial
|
||||||
|
|
||||||
@@ -451,14 +451,14 @@
|
|||||||
|
|
||||||
if-nez v1, :done
|
if-nez v1, :done
|
||||||
|
|
||||||
sput-object p0, Lradiant/gestures/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
sput-object p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
||||||
|
|
||||||
invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->animateReset()V
|
invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->animateReset()V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
|
|
||||||
:store_initial
|
:store_initial
|
||||||
sput-object p0, Lradiant/gestures/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
sput-object p0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->d:Ljava/lang/Object;
|
||||||
|
|
||||||
:done
|
:done
|
||||||
return-void
|
return-void
|
||||||
@@ -467,7 +467,7 @@
|
|||||||
.method public static consumeTapOpenSuppression()Z
|
.method public static consumeTapOpenSuppression()Z
|
||||||
.locals 5
|
.locals 5
|
||||||
|
|
||||||
sget-wide v0, Lradiant/gestures/MiniPlayerTrackGestures;->a:J
|
sget-wide v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->a:J
|
||||||
|
|
||||||
const-wide/16 v2, 0x0
|
const-wide/16 v2, 0x0
|
||||||
|
|
||||||
@@ -480,7 +480,7 @@
|
|||||||
return v0
|
return v0
|
||||||
|
|
||||||
:check_time
|
:check_time
|
||||||
sput-wide v2, Lradiant/gestures/MiniPlayerTrackGestures;->a:J
|
sput-wide v2, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->a:J
|
||||||
|
|
||||||
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
|
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
|
||||||
|
|
||||||
@@ -511,7 +511,7 @@
|
|||||||
|
|
||||||
add-long/2addr v0, v2
|
add-long/2addr v0, v2
|
||||||
|
|
||||||
sput-wide v0, Lradiant/gestures/MiniPlayerTrackGestures;->a:J
|
sput-wide v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->a:J
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
.method public static setDragOffset(F)V
|
.method public static setDragOffset(F)V
|
||||||
.locals 5
|
.locals 5
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
if-eqz v0, :rubber_band
|
if-eqz v0, :rubber_band
|
||||||
|
|
||||||
@@ -527,7 +527,7 @@
|
|||||||
|
|
||||||
const/4 v0, 0x0
|
const/4 v0, 0x0
|
||||||
|
|
||||||
sput-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
sput-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->c:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
:rubber_band
|
:rubber_band
|
||||||
invoke-static {p0}, Ljava/lang/Math;->abs(F)F
|
invoke-static {p0}, Ljava/lang/Math;->abs(F)F
|
||||||
@@ -536,7 +536,7 @@
|
|||||||
|
|
||||||
const/high16 v1, 0x42800000 # 64.0f dp free travel
|
const/high16 v1, 0x42800000 # 64.0f dp free travel
|
||||||
|
|
||||||
invoke-static {v1}, Lradiant/gestures/MiniPlayerTrackGestures;->dp(F)F
|
invoke-static {v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->dp(F)F
|
||||||
|
|
||||||
move-result v1
|
move-result v1
|
||||||
|
|
||||||
@@ -575,7 +575,7 @@
|
|||||||
|
|
||||||
|
|
||||||
:publish
|
:publish
|
||||||
invoke-static {p0}, Lradiant/gestures/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
invoke-static {p0}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->setDragOffsetDirect(F)V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
@@ -583,21 +583,21 @@
|
|||||||
.method public static setDragOffsetDirect(F)V
|
.method public static setDragOffsetDirect(F)V
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
sget-object v0, Lradiant/gestures/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
sget-object v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
invoke-interface {v0, p0}, Landroidx/compose/runtime/MutableFloatState;->setFloatValue(F)V
|
invoke-interface {v0, p0}, Landroidx/compose/runtime/MutableFloatState;->setFloatValue(F)V
|
||||||
|
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
.method public static trackModifier(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier;
|
.method public static trackModifier(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
.locals 1
|
.locals 1
|
||||||
|
|
||||||
new-instance v0, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;
|
new-instance v0, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;
|
||||||
|
|
||||||
invoke-direct {v0, p1}, Lradiant/gestures/MiniPlayerTrackGestures$Gesture;-><init>(Lam0/l;)V
|
invoke-direct {v0, p1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture;-><init>(Lam0/l;)V # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier;
|
invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
move-result-object p0
|
move-result-object p0
|
||||||
|
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/AlbumItemQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "AlbumItemQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final mediaItemId:I
|
||||||
|
|
||||||
|
.field private final moduleId:Ljava/lang/String;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lu5/b$a;)V # MARKER: R8 Lu5/b$a;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iget-object v0, p1, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
|
||||||
|
|
||||||
|
iget-object v0, p1, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
|
||||||
|
|
||||||
|
iget v1, v0, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
|
||||||
|
|
||||||
|
iput v1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->mediaItemId:I
|
||||||
|
|
||||||
|
iget-object v0, v0, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->moduleId:Ljava/lang/String;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 10
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
|
||||||
|
|
||||||
|
iget v1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->mediaItemId:I
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->moduleId:Ljava/lang/String;
|
||||||
|
|
||||||
|
const/4 v3, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v3, :active_queue
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-nez v3, :active_queue
|
||||||
|
|
||||||
|
invoke-interface {v0, v1, v2}, Lu5/b$a$a;->g(ILjava/lang/String;)V # MARKER: R8 Lu5/b$a$a; g
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:active_queue
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
instance-of v4, v0, Lu5/g; # MARKER: R8 Lu5/g;
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
check-cast v0, Lu5/g; # MARKER: R8 Lu5/g;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Lk5/f;->l(Ljava/lang/String;)Lcom/aspiro/wamp/dynamicpages/data/model/Module; # MARKER: R8 Lk5/f; l
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;->getMediaItemParents()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-interface {v5}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
:find_item
|
||||||
|
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
check-cast v6, Lcom/aspiro/wamp/model/MediaItemParent;
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Lcom/aspiro/wamp/model/MediaItemParent;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
if-eqz v7, :find_item
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
if-ne v8, v1, :find_item
|
||||||
|
|
||||||
|
instance-of v8, v7, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
if-eqz v8, :done
|
||||||
|
|
||||||
|
check-cast v7, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
iget-object v8, v0, Lu5/g;->h:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lu5/g; h
|
||||||
|
|
||||||
|
invoke-interface {v8, v7}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
|
||||||
|
move-result-object v8
|
||||||
|
|
||||||
|
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
if-eqz v8, :done
|
||||||
|
|
||||||
|
new-instance v5, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPageId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v8
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPosition()I
|
||||||
|
|
||||||
|
move-result v9
|
||||||
|
|
||||||
|
invoke-static {v9}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
invoke-direct {v5, v6, v8, v9}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Lcom/aspiro/wamp/model/MediaItem;->getAlbum()Lcom/aspiro/wamp/model/Album;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget-object v8, v0, Lu5/g;->j:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lu5/g; j
|
||||||
|
|
||||||
|
invoke-static {v6, v8}, Lcom/aspiro/wamp/playqueue/source/model/b;->c(Lcom/aspiro/wamp/model/Album;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/AlbumSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; c
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-virtual {v6, v7}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
const/4 v8, 0x1
|
||||||
|
|
||||||
|
if-ne p1, v8, :check_add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_to_playlist
|
||||||
|
const/4 v8, 0x3
|
||||||
|
|
||||||
|
if-ne p1, v8, :append_track
|
||||||
|
|
||||||
|
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/AlbumItemQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueue;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ArtistTrackCreditsQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static handle(Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;)V
|
||||||
|
.locals 11
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-lez v1, :done
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->length()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-lez v2, :done
|
||||||
|
|
||||||
|
iget-wide v2, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
const-wide/16 v4, 0x0
|
||||||
|
|
||||||
|
cmp-long v4, v2, v4
|
||||||
|
|
||||||
|
if-lez v4, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h; # MARKER: R8 Li60/c; Lc60/h; c
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/d; # MARKER: R8 Lc60/d;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lc60/d; # MARKER: R8 Lc60/d;
|
||||||
|
|
||||||
|
iget-object v5, v4, Lc60/d;->b:Ljava/lang/String; # MARKER: R8 Lc60/d; b
|
||||||
|
|
||||||
|
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v1, v4, Lc60/d;->f:Ljava/util/ArrayList; # MARKER: R8 Lc60/d; f
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:find_track
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
instance-of v6, v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
if-eqz v6, :find_track
|
||||||
|
|
||||||
|
check-cast v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
iget-object v5, v5, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
|
||||||
|
|
||||||
|
instance-of v6, v5, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v6, :find_track
|
||||||
|
|
||||||
|
check-cast v5, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
iget-wide v6, v5, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
|
||||||
|
|
||||||
|
cmp-long v6, v6, v2
|
||||||
|
|
||||||
|
if-nez v6, :find_track
|
||||||
|
|
||||||
|
iget-object v1, p0, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;->b:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; b
|
||||||
|
|
||||||
|
instance-of v2, v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
check-cast v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
iget-object v6, v1, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-static {v5}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
if-eqz v7, :done
|
||||||
|
|
||||||
|
iget-object v2, v4, Lc60/d;->a:Ljava/lang/String; # MARKER: R8 Lc60/d; a
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
iget v3, v4, Lc60/d;->e:I # MARKER: R8 Lc60/d; e
|
||||||
|
|
||||||
|
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
invoke-direct {v8, v0, v2, v3}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-wide v2, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget-object v3, v4, Lc60/d;->c:Ljava/lang/String; # MARKER: R8 Lc60/d; c
|
||||||
|
|
||||||
|
iget-object v10, v4, Lc60/d;->g:Ljava/lang/String; # MARKER: R8 Lc60/d; g
|
||||||
|
|
||||||
|
invoke-static {v10}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-static {v2, v3, v6, v4}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
if-eqz v9, :done
|
||||||
|
|
||||||
|
invoke-virtual {v9, v7}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v2, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v2, :check_add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_to_playlist
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v2, :append
|
||||||
|
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ArtistTrackCreditsQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final trackId:J
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V # MARKER: R8 Lam0/l; Lm40/e$e;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
|
||||||
|
|
||||||
|
iput-wide v0, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget-wide v1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v0, :active_queue
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :active_queue
|
||||||
|
|
||||||
|
new-instance v0, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v4, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-direct {v0, v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;-><init>(JLjava/lang/String;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:active_queue
|
||||||
|
new-instance v0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-wide v4, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
|
||||||
|
|
||||||
|
move v6, p1
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
|
||||||
|
|
||||||
|
:emit
|
||||||
|
iget-object v7, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-interface {v7, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ArtistTrackCreditsQueueEvent.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final action:I
|
||||||
|
|
||||||
|
.field public final context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field public final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final trackId:J
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-wide p4, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
iput p6, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->action:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,281 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/CompactGridMediaQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "CompactGridMediaQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final mediaType:I
|
||||||
|
|
||||||
|
.field private final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V # MARKER: R8 Lam0/l; Lm40/e;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
instance-of v0, p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$a;->a:J # MARKER: R8 Lm40/e$a; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$c; a
|
||||||
|
|
||||||
|
const/4 v1, 0x2
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
if-eqz v0, :track
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:track
|
||||||
|
instance-of v0, p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
if-eqz v0, :unsupported
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, 0x4
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:unsupported
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
:store
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput v1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static isEligible(Lm40/e;)Z # MARKER: R8 Lm40/e;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$a;->e:Z # MARKER: R8 Lm40/e$a; e
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$c;->h:Z # MARKER: R8 Lm40/e$c; h
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
if-eqz v0, :track
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$d;->g:Z # MARKER: R8 Lm40/e$d; g
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:track
|
||||||
|
instance-of v0, p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$e;->j:Z # MARKER: R8 Lm40/e$e; j
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget-object v7, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
if-eqz v7, :done
|
||||||
|
|
||||||
|
iget-object v4, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
iget v5, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v1, :queue_event
|
||||||
|
|
||||||
|
const/4 v1, 0x4
|
||||||
|
|
||||||
|
if-ne v5, v1, :queue_event
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-nez v1, :queue_event
|
||||||
|
|
||||||
|
move-object v1, v4
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:queue_event
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
move v6, p1
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
|
||||||
|
|
||||||
|
move-object v1, v0
|
||||||
|
|
||||||
|
:emit
|
||||||
|
invoke-interface {v7, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/CompactGridMediaQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public stableKey()Ljava/lang/String;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const-string v2, "cgc:"
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v2, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
iget v2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v2, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,367 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSearchQueue;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ComposeSearchQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static handle(Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;Lradiant/gestures/queue/ComposeSearchQueueEvent;)V
|
||||||
|
.locals 10
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-lt v0, v1, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-gt v0, v1, :done
|
||||||
|
|
||||||
|
iget-object v8, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v8, :done
|
||||||
|
|
||||||
|
iget-object v2, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->id:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->type:I
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-lt v4, v0, :done
|
||||||
|
|
||||||
|
const/4 v0, 0x4
|
||||||
|
|
||||||
|
if-gt v4, v0, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->n:Ljava/util/List; # MARKER: R8 n
|
||||||
|
|
||||||
|
invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:find_row
|
||||||
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lmb0/e; # MARKER: R8 Lmb0/e;
|
||||||
|
|
||||||
|
invoke-static {v1}, Lmb0/f;->a(Lmb0/e;)Ljava/lang/String; # MARKER: R8 Lmb0/f; Lmb0/e; a
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
invoke-virtual {v2, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v9
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
instance-of v9, v1, Lmb0/a; # MARKER: R8 Lmb0/a;
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
check-cast v1, Lmb0/a; # MARKER: R8 Lmb0/a;
|
||||||
|
|
||||||
|
iget-object v3, v1, Lmb0/a;->a:Lh40/n; # MARKER: R8 Lmb0/a; Lh40/n; a
|
||||||
|
|
||||||
|
const/4 v9, 0x1
|
||||||
|
|
||||||
|
if-ne v4, v9, :check_album
|
||||||
|
|
||||||
|
instance-of v9, v3, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
goto :recover_dependencies
|
||||||
|
|
||||||
|
:check_album
|
||||||
|
const/4 v9, 0x2
|
||||||
|
|
||||||
|
if-ne v4, v9, :check_playlist
|
||||||
|
|
||||||
|
instance-of v9, v3, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
goto :recover_dependencies
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
const/4 v9, 0x3
|
||||||
|
|
||||||
|
if-ne v4, v9, :check_mix
|
||||||
|
|
||||||
|
instance-of v9, v3, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
goto :recover_dependencies
|
||||||
|
|
||||||
|
:check_mix
|
||||||
|
instance-of v9, v3, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
if-eqz v9, :find_row
|
||||||
|
|
||||||
|
:recover_dependencies
|
||||||
|
iget-object v9, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->d:Lcom/tidal/android/feature/search/ui/e; # MARKER: R8 Lcom/tidal/android/feature/search/ui/e; d
|
||||||
|
|
||||||
|
instance-of v0, v9, Lv9/e; # MARKER: R8 Lv9/e;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
check-cast v9, Lv9/e; # MARKER: R8 Lv9/e;
|
||||||
|
|
||||||
|
iget-object v5, v9, Lv9/e;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lv9/e; b
|
||||||
|
|
||||||
|
iget-object v9, v9, Lv9/e;->a:Lcom/aspiro/wamp/core/k; # MARKER: R8 Lv9/e; Lcom/aspiro/wamp/core/k; a
|
||||||
|
|
||||||
|
const/4 v6, 0x0
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
if-eq v4, v0, :recover_menu
|
||||||
|
|
||||||
|
const/4 v0, 0x4
|
||||||
|
|
||||||
|
if-ne v4, v0, :dependencies_ready
|
||||||
|
|
||||||
|
:recover_menu
|
||||||
|
|
||||||
|
instance-of v0, v9, Lh9/p1; # MARKER: R8 Lh9/p1;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
check-cast v9, Lh9/p1; # MARKER: R8 Lh9/p1;
|
||||||
|
|
||||||
|
iget-object v9, v9, Lh9/p1;->b:Lx40/a; # MARKER: R8 Lh9/p1; Lx40/a; b
|
||||||
|
|
||||||
|
instance-of v0, v9, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
move-object v6, v9
|
||||||
|
|
||||||
|
check-cast v6, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
:dependencies_ready
|
||||||
|
|
||||||
|
new-instance v7, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
const-string v0, "search"
|
||||||
|
|
||||||
|
invoke-direct {v7, v0, v2}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v4, v0, :album
|
||||||
|
|
||||||
|
check-cast v3, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v0, v1, :queue_track
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :play_track
|
||||||
|
|
||||||
|
:queue_track
|
||||||
|
invoke-static {v3}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
iget-object v4, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->m:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 m
|
||||||
|
|
||||||
|
invoke-interface {v4}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
check-cast v4, Lcom/tidal/android/feature/search/ui/SearchQuery;
|
||||||
|
|
||||||
|
iget-object v4, v4, Lcom/tidal/android/feature/search/ui/SearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
|
||||||
|
|
||||||
|
if-nez v4, :track_query_ready
|
||||||
|
|
||||||
|
const-string v4, ""
|
||||||
|
|
||||||
|
:track_query_ready
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
if-eqz v5, :track_navigation_ready
|
||||||
|
|
||||||
|
invoke-static {v5}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:track_navigation_ready
|
||||||
|
invoke-static {v2, v4, v1}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4, v9}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_track_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_track_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_track
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play_track
|
||||||
|
iget-object v5, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->m:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 m
|
||||||
|
|
||||||
|
invoke-interface {v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
check-cast v5, Lcom/tidal/android/feature/search/ui/SearchQuery;
|
||||||
|
|
||||||
|
iget-object v5, v5, Lcom/tidal/android/feature/search/ui/SearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
|
||||||
|
|
||||||
|
if-nez v5, :play_query_ready
|
||||||
|
|
||||||
|
const-string v5, ""
|
||||||
|
|
||||||
|
:play_query_ready
|
||||||
|
iget-object v9, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->f:Lcom/tidal/android/feature/search/ui/f; # MARKER: R8 Lcom/tidal/android/feature/search/ui/f; f
|
||||||
|
|
||||||
|
iget-wide v0, v3, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
|
||||||
|
|
||||||
|
invoke-interface {v9, v0, v1, v3, v5}, Lcom/tidal/android/feature/search/ui/f;->a(JLh40/p;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/feature/search/ui/f; Lh40/p; a
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:album
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
if-ne v4, v0, :playlist
|
||||||
|
|
||||||
|
check-cast v3, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
invoke-static {v3}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_album_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_album_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_album
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_album
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v4, v0, :mix
|
||||||
|
|
||||||
|
check-cast v3, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
invoke-static {v3}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_playlist_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_playlist_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:mix
|
||||||
|
check-cast v3, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
invoke-static {v3}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_mix_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_mix_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_mix
|
||||||
|
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_mix
|
||||||
|
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,232 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSearchQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ComposeSearchQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final id:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final type:I
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Lpb0/b;)V # MARKER: R8 Lam0/l; Lpb0/b;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-static {p2}, Lradiant/gestures/queue/ComposeSearchQueueAction;->key(Lpb0/b;)Ljava/lang/String; # MARKER: R8 Lpb0/b;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-static {p2}, Lradiant/gestures/queue/ComposeSearchQueueAction;->type(Lpb0/b;)I # MARKER: R8 Lpb0/b;
|
||||||
|
|
||||||
|
move-result p1
|
||||||
|
|
||||||
|
iput p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static key(Lpb0/b;)Ljava/lang/String; # MARKER: R8 Lpb0/b;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
instance-of v0, p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
|
||||||
|
|
||||||
|
if-eqz v0, :album
|
||||||
|
|
||||||
|
check-cast p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
|
||||||
|
|
||||||
|
iget-wide v0, p0, Lpb0/b$i;->a:J # MARKER: R8 Lpb0/b$i; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:album
|
||||||
|
instance-of v0, p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
check-cast p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
|
||||||
|
|
||||||
|
iget-wide v0, p0, Lpb0/b$a;->a:J # MARKER: R8 Lpb0/b$a; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
check-cast p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
|
||||||
|
|
||||||
|
iget-object p0, p0, Lpb0/b$f;->a:Ljava/lang/String; # MARKER: R8 Lpb0/b$f; a
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
|
||||||
|
|
||||||
|
iget-object p0, p0, Lpb0/b$e;->a:Ljava/lang/String; # MARKER: R8 Lpb0/b$e; a
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public stableKey()Ljava/lang/String;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget v1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
new-instance v2, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
|
||||||
|
|
||||||
|
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v1, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private static type(Lpb0/b;)I # MARKER: R8 Lpb0/b;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
|
||||||
|
|
||||||
|
if-eqz v0, :album
|
||||||
|
|
||||||
|
const/4 p0, 0x1
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:album
|
||||||
|
instance-of v0, p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
const/4 p0, 0x2
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
const/4 p0, 0x3
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of p0, p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
|
||||||
|
|
||||||
|
if-eqz p0, :invalid
|
||||||
|
|
||||||
|
const/4 p0, 0x4
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
iget v3, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
new-instance p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;
|
||||||
|
|
||||||
|
invoke-direct {p0, v1, v2, v3, p1}, Lradiant/gestures/queue/ComposeSearchQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;II)V
|
||||||
|
|
||||||
|
invoke-interface {v0, p0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSearchQueueEvent;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ComposeSearchQueueEvent.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lcom/tidal/android/feature/search/ui/b; # MARKER: R8 Lcom/tidal/android/feature/search/ui/b;
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field public static final TYPE_ALBUM:I = 0x2
|
||||||
|
|
||||||
|
.field public static final TYPE_MIX:I = 0x4
|
||||||
|
|
||||||
|
.field public static final TYPE_PLAYLIST:I = 0x3
|
||||||
|
|
||||||
|
.field public static final TYPE_TRACK:I = 0x1
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final action:I
|
||||||
|
|
||||||
|
.field public final context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field public final id:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final type:I
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;II)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->id:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput p3, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->type:I
|
||||||
|
|
||||||
|
iput p4, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
.class public interface abstract Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ComposeSwipeAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public abstract invoke()Ljava/lang/Object;
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public abstract invoke(I)Ljava/lang/Object;
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public abstract setContext(Landroid/content/Context;)V
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,275 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSwipeState$Draw;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "Draw"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$Draw;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
.locals 16
|
||||||
|
|
||||||
|
move-object/from16 v0, p1
|
||||||
|
|
||||||
|
move-object/from16 v5, p0
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/DrawScope;->getSize-NH-jbRc()J
|
||||||
|
|
||||||
|
move-result-wide v1
|
||||||
|
|
||||||
|
invoke-static {v1, v2}, Landroidx/compose/ui/geometry/Size;->getWidth-impl(J)F
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
invoke-static {v1, v2}, Landroidx/compose/ui/geometry/Size;->getHeight-impl(J)F
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
iget-object v5, v5, Lradiant/gestures/queue/ComposeSwipeState$Draw;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
iput v3, v5, Lradiant/gestures/queue/ComposeSwipeState;->rowWidth:F
|
||||||
|
|
||||||
|
iget-object v1, v5, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
invoke-interface {v1}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
cmpl-float v2, v6, v1
|
||||||
|
|
||||||
|
if-eqz v2, :draw_plain
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/DrawScope;->getDrawContext()Landroidx/compose/ui/graphics/drawscope/DrawContext;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-interface {v2}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->getCanvas()Landroidx/compose/ui/graphics/Canvas;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Landroidx/compose/ui/graphics/AndroidCanvas_androidKt;->getNativeCanvas(Landroidx/compose/ui/graphics/Canvas;)Landroid/graphics/Canvas;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Landroid/graphics/Canvas;->save()I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
cmpg-float v9, v6, v1
|
||||||
|
|
||||||
|
if-gez v9, :right_exposure
|
||||||
|
|
||||||
|
add-float v9, v3, v6
|
||||||
|
|
||||||
|
invoke-static {v1, v9}, Ljava/lang/Math;->max(FF)F
|
||||||
|
|
||||||
|
move-result v9
|
||||||
|
|
||||||
|
move v10, v3
|
||||||
|
|
||||||
|
goto :exposure_ready
|
||||||
|
|
||||||
|
:right_exposure
|
||||||
|
move v9, v1
|
||||||
|
|
||||||
|
invoke-static {v3, v6}, Ljava/lang/Math;->min(FF)F
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
:exposure_ready
|
||||||
|
invoke-virtual {v7, v9, v1, v10, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z
|
||||||
|
|
||||||
|
invoke-virtual {v5, v6}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
|
||||||
|
|
||||||
|
move-result v11
|
||||||
|
|
||||||
|
const/4 v12, 0x1
|
||||||
|
|
||||||
|
if-ne v11, v12, :add_color
|
||||||
|
|
||||||
|
const v11, __RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR__
|
||||||
|
|
||||||
|
goto :color_ready
|
||||||
|
|
||||||
|
:add_color
|
||||||
|
const/4 v12, 0x3
|
||||||
|
|
||||||
|
if-ne v11, v12, :add_to_queue_color
|
||||||
|
|
||||||
|
const v11, __RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR__
|
||||||
|
|
||||||
|
goto :color_ready
|
||||||
|
|
||||||
|
:add_to_queue_color
|
||||||
|
const v11, __RL_SWIPE_TO_QUEUE_ADD_COLOR__
|
||||||
|
|
||||||
|
:color_ready
|
||||||
|
|
||||||
|
invoke-virtual {v7, v11}, Landroid/graphics/Canvas;->drawColor(I)V
|
||||||
|
|
||||||
|
invoke-virtual {v5, v6}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
|
||||||
|
|
||||||
|
move-result v11
|
||||||
|
|
||||||
|
const/4 v12, 0x1
|
||||||
|
|
||||||
|
if-ne v11, v12, :add_icon
|
||||||
|
|
||||||
|
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
goto :icon_ready
|
||||||
|
|
||||||
|
:add_icon
|
||||||
|
const/4 v12, 0x3
|
||||||
|
|
||||||
|
if-ne v11, v12, :add_to_queue_icon
|
||||||
|
|
||||||
|
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
goto :icon_ready
|
||||||
|
|
||||||
|
:add_to_queue_icon
|
||||||
|
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
:icon_ready
|
||||||
|
|
||||||
|
if-eqz v11, :background_done
|
||||||
|
|
||||||
|
invoke-virtual {v11}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
|
||||||
|
|
||||||
|
move-result v12
|
||||||
|
|
||||||
|
invoke-virtual {v11}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
|
||||||
|
|
||||||
|
move-result v13
|
||||||
|
|
||||||
|
if-lez v12, :background_done
|
||||||
|
|
||||||
|
if-lez v13, :background_done
|
||||||
|
|
||||||
|
const/high16 v14, 0x41800000 # 16.0f
|
||||||
|
|
||||||
|
invoke-virtual {v5, v14}, Lradiant/gestures/queue/ComposeSwipeState;->dp(F)F
|
||||||
|
|
||||||
|
move-result v14
|
||||||
|
|
||||||
|
const/4 v15, 0x0
|
||||||
|
|
||||||
|
int-to-float v15, v15
|
||||||
|
|
||||||
|
cmpg-float v15, v6, v15
|
||||||
|
|
||||||
|
if-gez v15, :right_icon
|
||||||
|
|
||||||
|
int-to-float v1, v12
|
||||||
|
|
||||||
|
sub-float v1, v3, v1
|
||||||
|
|
||||||
|
sub-float/2addr v1, v14
|
||||||
|
|
||||||
|
goto :icon_x_ready
|
||||||
|
|
||||||
|
:right_icon
|
||||||
|
move v1, v14
|
||||||
|
|
||||||
|
:icon_x_ready
|
||||||
|
int-to-float v14, v13
|
||||||
|
|
||||||
|
sub-float v14, v4, v14
|
||||||
|
|
||||||
|
const/high16 v15, 0x40000000 # 2.0f
|
||||||
|
|
||||||
|
div-float/2addr v14, v15
|
||||||
|
|
||||||
|
float-to-int v15, v1
|
||||||
|
|
||||||
|
float-to-int v14, v14
|
||||||
|
|
||||||
|
add-int v1, v15, v12
|
||||||
|
|
||||||
|
add-int v12, v14, v13
|
||||||
|
|
||||||
|
invoke-virtual {v11, v15, v14, v1, v12}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
|
||||||
|
|
||||||
|
const/16 v1, 0xff
|
||||||
|
|
||||||
|
invoke-virtual {v11, v1}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||||
|
|
||||||
|
invoke-virtual {v11, v7}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
|
||||||
|
|
||||||
|
:background_done
|
||||||
|
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Landroid/graphics/Canvas;->save()I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {v7, v1, v1, v3, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z
|
||||||
|
|
||||||
|
invoke-virtual {v7, v6, v1}, Landroid/graphics/Canvas;->translate(FF)V
|
||||||
|
|
||||||
|
:try_start_0
|
||||||
|
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;->drawContent()V
|
||||||
|
:try_end_0
|
||||||
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||||
|
|
||||||
|
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:catchall_0
|
||||||
|
move-exception v0
|
||||||
|
|
||||||
|
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
||||||
|
|
||||||
|
throw v0
|
||||||
|
|
||||||
|
:draw_plain
|
||||||
|
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;->drawContent()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState$Draw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSwipeState$Gesture;
|
||||||
|
.super Landroidx/compose/ui/input/pointer/PointerInputFilter;
|
||||||
|
.implements Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
.implements Landroidx/compose/ui/input/pointer/PointerInputModifier;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "Gesture"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private consumeAfterDispatch:Z
|
||||||
|
|
||||||
|
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Landroidx/compose/ui/input/pointer/PointerInputFilter;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public getInterceptOutOfBoundsChildEvents()Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public getPointerInputFilter()Landroidx/compose/ui/input/pointer/PointerInputFilter;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
|
||||||
|
|
||||||
|
if-eqz v0, :down
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-eq v0, v1, :up
|
||||||
|
|
||||||
|
const/4 v1, 0x2
|
||||||
|
|
||||||
|
if-eq v0, v1, :move
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v0, v1, :cancel
|
||||||
|
|
||||||
|
const/4 v1, 0x5
|
||||||
|
|
||||||
|
if-eq v0, v1, :cancel
|
||||||
|
|
||||||
|
const/4 v1, 0x6
|
||||||
|
|
||||||
|
if-eq v0, v1, :cancel
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:down
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->begin(FF)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:move
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->move(FF)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:up
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->move(FF)V
|
||||||
|
|
||||||
|
iget-boolean v0, v2, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lradiant/gestures/queue/ComposeSwipeState;->finish()V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:cancel
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
check-cast p1, Landroid/view/MotionEvent;
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onCancel()V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onPointerEvent-H0pRuoY(Landroidx/compose/ui/input/pointer/PointerEvent;Landroidx/compose/ui/input/pointer/PointerEventPass;J)V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
sget-object v0, Landroidx/compose/ui/input/pointer/PointerEventPass;->Initial:Landroidx/compose/ui/input/pointer/PointerEventPass;
|
||||||
|
|
||||||
|
if-ne p2, v0, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
iget-boolean v1, v0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
iput-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/compose/ui/input/pointer/PointerEvent;->getMotionEvent()Landroid/view/MotionEvent;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
if-eqz v2, :after_dispatch
|
||||||
|
|
||||||
|
invoke-virtual {p0, v2}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
:after_dispatch
|
||||||
|
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
|
||||||
|
|
||||||
|
or-int/2addr v1, v2
|
||||||
|
|
||||||
|
iget-boolean v2, v0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
or-int/2addr v1, v2
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/compose/ui/input/pointer/PointerEvent;->getChanges()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
:consume_loop
|
||||||
|
if-ge v2, v1, :done
|
||||||
|
|
||||||
|
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
check-cast v3, Landroidx/compose/ui/input/pointer/PointerInputChange;
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Landroidx/compose/ui/input/pointer/PointerInputChange;->consume()V
|
||||||
|
|
||||||
|
add-int/lit8 v2, v2, 0x1
|
||||||
|
|
||||||
|
goto :consume_loop
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||||
|
value = Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||||||
|
accessFlags = 0x19
|
||||||
|
name = "ResetAnimator"
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public onAnimationUpdate(Landroid/animation/ValueAnimator;)V
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Ljava/lang/Float;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;->state:Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
const/high16 v2, 0x3f800000 # 1.0f
|
||||||
|
|
||||||
|
cmpg-float v0, v0, v2
|
||||||
|
|
||||||
|
if-gez v0, :finished
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:finished
|
||||||
|
invoke-virtual {v1, p1}, Lradiant/gestures/queue/ComposeSwipeState;->clearAnimator(Landroid/animation/ValueAnimator;)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,704 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
.field action:Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
.field context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field view:Landroid/view/View;
|
||||||
|
|
||||||
|
.field enabled:Z
|
||||||
|
|
||||||
|
.field downX:F
|
||||||
|
|
||||||
|
.field downY:F
|
||||||
|
|
||||||
|
.field tracking:Z
|
||||||
|
|
||||||
|
.field locked:Z
|
||||||
|
|
||||||
|
.field armed:Z
|
||||||
|
|
||||||
|
.field rowWidth:F
|
||||||
|
|
||||||
|
.field animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
.field final gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
|
||||||
|
|
||||||
|
.field final draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
|
||||||
|
|
||||||
|
.field addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>()V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
invoke-static {v0}, Landroidx/compose/runtime/PrimitiveSnapshotStateKt;->mutableFloatStateOf(F)Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
|
||||||
|
|
||||||
|
new-instance v1, Lradiant/gestures/queue/ComposeSwipeState$Draw;
|
||||||
|
|
||||||
|
invoke-direct {v1, p0}, Lradiant/gestures/queue/ComposeSwipeState$Draw;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
.locals 5
|
||||||
|
.annotation build Landroidx/compose/runtime/Composable;
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
const v0, 0x4a33c921
|
||||||
|
|
||||||
|
invoke-interface {p4, v0}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V
|
||||||
|
|
||||||
|
invoke-static {}, Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt;->getLocalView()Landroidx/compose/runtime/ProvidableCompositionLocal;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-interface {p4, v0}, Landroidx/compose/runtime/Composer;->consume(Landroidx/compose/runtime/CompositionLocal;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Landroid/view/View;
|
||||||
|
|
||||||
|
invoke-interface {p4, p1}, Landroidx/compose/runtime/Composer;->changed(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
invoke-interface {p4}, Landroidx/compose/runtime/Composer;->rememberedValue()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
if-nez v1, :new_state
|
||||||
|
|
||||||
|
sget-object v3, Landroidx/compose/runtime/Composer;->Companion:Landroidx/compose/runtime/Composer$Companion;
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Landroidx/compose/runtime/Composer$Companion;->getEmpty()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
if-ne v2, v3, :state_ready
|
||||||
|
|
||||||
|
:new_state
|
||||||
|
new-instance v2, Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-direct {v2}, Lradiant/gestures/queue/ComposeSwipeState;-><init>()V
|
||||||
|
|
||||||
|
invoke-interface {p4, v2}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
:state_ready
|
||||||
|
check-cast v2, Lradiant/gestures/queue/ComposeSwipeState;
|
||||||
|
|
||||||
|
invoke-virtual {v2, p2, p3, v0}, Lradiant/gestures/queue/ComposeSwipeState;->update(Lradiant/gestures/queue/ComposeSwipeAction;ZLandroid/view/View;)V
|
||||||
|
|
||||||
|
iget-object v1, v2, Lradiant/gestures/queue/ComposeSwipeState;->gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
|
||||||
|
|
||||||
|
check-cast v1, Landroidx/compose/ui/Modifier;
|
||||||
|
|
||||||
|
invoke-interface {p0, v1}, Landroidx/compose/ui/Modifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
iget-object v1, v2, Lradiant/gestures/queue/ComposeSwipeState;->draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
|
||||||
|
|
||||||
|
invoke-static {p0, v1}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
invoke-interface {p4}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method actionForOffset(F)I
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
int-to-float v0, v0
|
||||||
|
|
||||||
|
cmpg-float v1, p1, v0
|
||||||
|
|
||||||
|
if-ltz v1, :left
|
||||||
|
|
||||||
|
cmpl-float p1, p1, v0
|
||||||
|
|
||||||
|
if-gtz p1, :right
|
||||||
|
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return p1
|
||||||
|
|
||||||
|
:left
|
||||||
|
const/16 p1, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
return p1
|
||||||
|
|
||||||
|
:right
|
||||||
|
const/16 p1, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
return p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method animateReset()V
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
if-eqz v0, :read_offset
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
:read_offset
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
const/high16 v3, 0x3f000000 # 0.5f
|
||||||
|
|
||||||
|
cmpg-float v2, v2, v3
|
||||||
|
|
||||||
|
if-lez v2, :snap
|
||||||
|
|
||||||
|
const/4 v2, 0x2
|
||||||
|
|
||||||
|
new-array v2, v2, [F
|
||||||
|
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
aput v0, v2, v3
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
aput v3, v2, v0
|
||||||
|
|
||||||
|
invoke-static {v2}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const-wide/16 v4, 0xb4
|
||||||
|
|
||||||
|
invoke-virtual {v0, v4, v5}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
new-instance v2, Landroid/view/animation/DecelerateInterpolator;
|
||||||
|
|
||||||
|
const/high16 v4, 0x3fc00000 # 1.5f
|
||||||
|
|
||||||
|
invoke-direct {v2, v4}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
|
||||||
|
|
||||||
|
new-instance v2, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;
|
||||||
|
|
||||||
|
invoke-direct {v2, p0}, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:snap
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {p0, v3}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method begin(FF)V
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
if-eqz v0, :initialize
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
:initialize
|
||||||
|
iput p1, p0, Lradiant/gestures/queue/ComposeSwipeState;->downX:F
|
||||||
|
|
||||||
|
iput p2, p0, Lradiant/gestures/queue/ComposeSwipeState;->downY:F
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
|
||||||
|
|
||||||
|
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
|
||||||
|
|
||||||
|
if-eqz v2, :inactive
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
if-eqz v2, :inactive
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
:inactive
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method cancelGesture()V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method clearAnimator(Landroid/animation/ValueAnimator;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
if-ne v0, p1, :done
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method dp(F)F
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
|
||||||
|
|
||||||
|
mul-float/2addr p1, v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method finish()V
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
|
||||||
|
|
||||||
|
if-eqz v0, :reset_only
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
if-eqz v0, :not_complete
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
if-eqz v0, :not_complete
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
goto :complete_ready
|
||||||
|
|
||||||
|
:not_complete
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
:complete_ready
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
|
||||||
|
|
||||||
|
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/ComposeTapGuard;->suppressAfterSwipe()V
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-interface {v0, v2}, Lradiant/gestures/queue/ComposeSwipeAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:reset_only
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method isCorrectDirection(F)Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :wrong
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
:wrong
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method move(FF)V
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->downX:F
|
||||||
|
|
||||||
|
sub-float v0, p1, v0
|
||||||
|
|
||||||
|
iget v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->downY:F
|
||||||
|
|
||||||
|
sub-float v1, p2, v1
|
||||||
|
|
||||||
|
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
if-nez v2, :publish
|
||||||
|
|
||||||
|
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-static {v1}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
const/high16 v4, 0x41000000 # 8.0f
|
||||||
|
|
||||||
|
invoke-virtual {p0, v4}, Lradiant/gestures/queue/ComposeSwipeState;->dp(F)F
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
cmpg-float v5, v2, v4
|
||||||
|
|
||||||
|
if-ltz v5, :axis_ready
|
||||||
|
|
||||||
|
cmpg-float v5, v3, v4
|
||||||
|
|
||||||
|
if-gez v5, :done
|
||||||
|
|
||||||
|
:axis_ready
|
||||||
|
cmpg-float v5, v2, v3
|
||||||
|
|
||||||
|
if-gtz v5, :horizontal_candidate
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:horizontal_candidate
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->isCorrectDirection(F)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-nez v5, :lock
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:lock
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
iput-boolean v5, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
|
||||||
|
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
|
||||||
|
|
||||||
|
if-eqz v6, :publish
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :publish
|
||||||
|
|
||||||
|
invoke-interface {v6, v5}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
||||||
|
|
||||||
|
:publish
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->isCorrectDirection(F)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-nez v2, :set_offset
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {p0, v2}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
|
||||||
|
|
||||||
|
iput-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:set_offset
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
|
||||||
|
|
||||||
|
iget v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->rowWidth:F
|
||||||
|
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
cmpg-float v4, v2, v3
|
||||||
|
|
||||||
|
if-lez v4, :done
|
||||||
|
|
||||||
|
const v4, 0x3e99999a # 0.3f
|
||||||
|
|
||||||
|
mul-float/2addr v2, v4
|
||||||
|
|
||||||
|
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
cmpg-float v0, v0, v2
|
||||||
|
|
||||||
|
if-ltz v0, :below_threshold
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
goto :arm_ready
|
||||||
|
|
||||||
|
:below_threshold
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
:arm_ready
|
||||||
|
iget-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
if-eq v0, v1, :done
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x4
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/view/View;->performHapticFeedback(I)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method releaseParent()V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
invoke-interface {v0, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method setOffset(F)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
|
||||||
|
|
||||||
|
invoke-interface {v0, p1}, Landroidx/compose/runtime/MutableFloatState;->setFloatValue(F)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method update(Lradiant/gestures/queue/ComposeSwipeAction;ZLandroid/view/View;)V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
|
||||||
|
|
||||||
|
invoke-virtual {p3}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-ne v0, v1, :load_resources
|
||||||
|
|
||||||
|
goto :context_ready
|
||||||
|
|
||||||
|
:load_resources
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_queue_last:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eqz v1, :store_icon
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
const/4 v2, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_icon
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_play_next:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eqz v1, :store_play_next_icon
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
const/4 v2, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_play_next_icon
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_playlist:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eqz v1, :store_add_to_playlist_icon
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
const/4 v2, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_add_to_playlist_icon
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
:context_ready
|
||||||
|
if-eqz p1, :enabled_ready
|
||||||
|
|
||||||
|
invoke-interface {p1, v0}, Lradiant/gestures/queue/ComposeSwipeAction;->setContext(Landroid/content/Context;)V
|
||||||
|
|
||||||
|
:enabled_ready
|
||||||
|
iget-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
|
||||||
|
|
||||||
|
iput-boolean p2, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
|
||||||
|
|
||||||
|
if-nez v1, :was_enabled
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:was_enabled
|
||||||
|
if-nez p2, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ComposeTapGuard;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.implements Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field private static volatile deadline:J
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final delegate:Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/a;)V # MARKER: R8 Lam0/a;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ComposeTapGuard;->delegate:Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static isSuppressed()Z
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
|
||||||
|
|
||||||
|
move-result-wide v0
|
||||||
|
|
||||||
|
sget-wide v2, Lradiant/gestures/queue/ComposeTapGuard;->deadline:J
|
||||||
|
|
||||||
|
cmp-long v4, v0, v2
|
||||||
|
|
||||||
|
if-ltz v4, :suppressed
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
:suppressed
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static suppressAfterSwipe()V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
|
||||||
|
|
||||||
|
move-result-wide v0
|
||||||
|
|
||||||
|
const-wide/16 v2, 0x96
|
||||||
|
|
||||||
|
add-long/2addr v0, v2
|
||||||
|
|
||||||
|
sput-wide v0, Lradiant/gestures/queue/ComposeTapGuard;->deadline:J
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static wrap(Lam0/a;)Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/ComposeTapGuard;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/ComposeTapGuard;-><init>(Lam0/a;)V # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/ComposeTapGuard;->isSuppressed()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :dispatch
|
||||||
|
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:dispatch
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ComposeTapGuard;->delegate:Lam0/a; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
invoke-interface {v0}, Lam0/a;->invoke()Ljava/lang/Object; # MARKER: R8 Lam0/a;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,844 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicMediaQueue;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicMediaQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static handleCompact(Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;
|
||||||
|
.locals 13
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
if-lt v4, v5, :done
|
||||||
|
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
if-gt v4, v5, :done
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v2, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
const/4 v4, 0x1
|
||||||
|
|
||||||
|
if-lt v3, v4, :done
|
||||||
|
|
||||||
|
const/4 v4, 0x4
|
||||||
|
|
||||||
|
if-gt v3, v4, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h; # MARKER: R8 Li60/c; Lc60/h; c
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/f; # MARKER: R8 Lc60/f;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lc60/f; # MARKER: R8 Lc60/f;
|
||||||
|
|
||||||
|
iget-object v5, v4, Lc60/f;->b:Ljava/lang/String; # MARKER: R8 Lc60/f; b
|
||||||
|
|
||||||
|
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v1, v4, Lc60/f;->g:Ljava/util/ArrayList; # MARKER: R8 Lc60/f; g
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:find_media
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
instance-of v5, v6, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
if-eqz v5, :find_media
|
||||||
|
|
||||||
|
check-cast v6, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :find_media
|
||||||
|
|
||||||
|
instance-of v5, v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
iget-object v7, v6, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_mix
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_mix
|
||||||
|
const/4 v5, 0x2
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_playlist
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_track
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_track
|
||||||
|
instance-of v5, v7, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
:dependencies
|
||||||
|
iget-object v8, p0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;->b:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a; Lcom/tidal/android/dynamicpages/ui/b; b
|
||||||
|
|
||||||
|
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
iget-object v5, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
iget-object v9, v8, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
|
||||||
|
|
||||||
|
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
iget-object v11, v4, Lc60/f;->a:Ljava/lang/String; # MARKER: R8 Lc60/f; a
|
||||||
|
|
||||||
|
iget v12, v4, Lc60/f;->d:I # MARKER: R8 Lc60/f; d
|
||||||
|
|
||||||
|
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-direct {v10, v0, v11, v12}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v3, v0, :mix
|
||||||
|
|
||||||
|
check-cast v7, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_album_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_album_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_album
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_album
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:mix
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
if-ne v3, v0, :playlist
|
||||||
|
|
||||||
|
check-cast v7, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_mix_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_mix_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_mix
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_mix
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v3, v0, :track
|
||||||
|
|
||||||
|
check-cast v7, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_playlist_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_playlist_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:track
|
||||||
|
check-cast v7, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
const/4 v6, 0x0
|
||||||
|
|
||||||
|
if-eqz v9, :navigation_ready
|
||||||
|
|
||||||
|
invoke-static {v9}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
:navigation_ready
|
||||||
|
iget-object v0, v4, Lc60/f;->e:Ljava/lang/String; # MARKER: R8 Lc60/f; e
|
||||||
|
|
||||||
|
invoke-static {v2, v0, v6}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
|
||||||
|
|
||||||
|
move-result-object v11
|
||||||
|
|
||||||
|
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_track_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_track_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_track
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static handlePublicPlaylist(Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V
|
||||||
|
.locals 11
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-lt v0, v1, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-gt v0, v1, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :done
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v2, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h; # MARKER: R8 Li60/c; Lc60/h; c
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
instance-of v4, v3, Lc60/v; # MARKER: R8 Lc60/v;
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
check-cast v3, Lc60/v; # MARKER: R8 Lc60/v;
|
||||||
|
|
||||||
|
iget-object v4, v3, Lc60/v;->b:Ljava/lang/String; # MARKER: R8 Lc60/v; b
|
||||||
|
|
||||||
|
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v1, v3, Lc60/v;->f:Ljava/util/ArrayList; # MARKER: R8 Lc60/v; f
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:find_playlist
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
if-eqz v5, :find_playlist
|
||||||
|
|
||||||
|
check-cast v4, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
invoke-static {v4}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :find_playlist
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
iget-object v4, v4, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
|
||||||
|
|
||||||
|
instance-of v5, v4, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
iget-object v5, p0, Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;->f:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; f
|
||||||
|
|
||||||
|
instance-of v6, v5, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
check-cast v5, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
iget-object v6, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget-object v7, v5, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
|
||||||
|
|
||||||
|
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
iget-object v9, v3, Lc60/v;->a:Ljava/lang/String; # MARKER: R8 Lc60/v; a
|
||||||
|
|
||||||
|
iget v10, v3, Lc60/v;->e:I # MARKER: R8 Lc60/v; e
|
||||||
|
|
||||||
|
invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v10
|
||||||
|
|
||||||
|
invoke-direct {v8, v0, v9, v10}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
invoke-static {v4}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_playlist_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_playlist_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static handleVertical(Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V
|
||||||
|
.locals 13
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
if-lt v4, v5, :done
|
||||||
|
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
if-gt v4, v5, :done
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v2, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
const/4 v4, 0x1
|
||||||
|
|
||||||
|
if-lt v3, v4, :done
|
||||||
|
|
||||||
|
const/4 v4, 0x4
|
||||||
|
|
||||||
|
if-gt v3, v4, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h; # MARKER: R8 Li60/c; Lc60/h; c
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/c0; # MARKER: R8 Lc60/c0;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lc60/c0; # MARKER: R8 Lc60/c0;
|
||||||
|
|
||||||
|
iget-object v5, v4, Lc60/c0;->b:Ljava/lang/String; # MARKER: R8 Lc60/c0; b
|
||||||
|
|
||||||
|
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v1, v4, Lc60/c0;->g:Ljava/util/ArrayList; # MARKER: R8 Lc60/c0; g
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:find_media
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
instance-of v5, v6, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
if-eqz v5, :find_media
|
||||||
|
|
||||||
|
check-cast v6, Lc60/r; # MARKER: R8 Lc60/r;
|
||||||
|
|
||||||
|
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :find_media
|
||||||
|
|
||||||
|
instance-of v5, v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
iget-object v7, v6, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_mix
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_mix
|
||||||
|
const/4 v5, 0x2
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_playlist
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
if-ne v3, v5, :check_track
|
||||||
|
|
||||||
|
instance-of v5, v7, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
goto :dependencies
|
||||||
|
|
||||||
|
:check_track
|
||||||
|
instance-of v5, v7, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
:dependencies
|
||||||
|
iget-object v8, p0, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;->e:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; e
|
||||||
|
|
||||||
|
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
iget-object v5, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
iget-object v9, v8, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
|
||||||
|
|
||||||
|
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
iget-object v11, v4, Lc60/c0;->a:Ljava/lang/String; # MARKER: R8 Lc60/c0; a
|
||||||
|
|
||||||
|
iget v12, v4, Lc60/c0;->f:I # MARKER: R8 Lc60/c0; f
|
||||||
|
|
||||||
|
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-direct {v10, v0, v11, v12}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v3, v0, :mix
|
||||||
|
|
||||||
|
check-cast v7, Lh40/a; # MARKER: R8 Lh40/a;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_album_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_album_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_album
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_album
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:mix
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
if-ne v3, v0, :playlist
|
||||||
|
|
||||||
|
check-cast v7, Lh40/i; # MARKER: R8 Lh40/i;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_mix_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_mix_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_mix
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_mix
|
||||||
|
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v3, v0, :track
|
||||||
|
|
||||||
|
check-cast v7, Lh40/j; # MARKER: R8 Lh40/j;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_playlist_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_playlist_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:track
|
||||||
|
check-cast v7, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v12
|
||||||
|
|
||||||
|
const/4 v6, 0x0
|
||||||
|
|
||||||
|
if-eqz v9, :navigation_ready
|
||||||
|
|
||||||
|
invoke-static {v9}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
:navigation_ready
|
||||||
|
iget-object v0, v4, Lc60/c0;->c:Ljava/lang/String; # MARKER: R8 Lc60/c0; c
|
||||||
|
|
||||||
|
invoke-static {v2, v0, v6}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
|
||||||
|
|
||||||
|
move-result-object v11
|
||||||
|
|
||||||
|
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v1, :check_add_track_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_track_to_playlist
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v1, :append_track
|
||||||
|
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private static menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lcom/tidal/android/dynamicpages/ui/c;->a:Lcom/aspiro/wamp/core/k; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lcom/aspiro/wamp/core/k; a
|
||||||
|
|
||||||
|
instance-of v1, v0, Lh9/p1; # MARKER: R8 Lh9/p1;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lh9/p1; # MARKER: R8 Lh9/p1;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lh9/p1;->b:Lx40/a; # MARKER: R8 Lh9/p1; Lx40/a; b
|
||||||
|
|
||||||
|
instance-of v1, v0, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicMediaQueueEvent.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b;
|
||||||
|
.implements Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final action:I
|
||||||
|
|
||||||
|
.field public final context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field public final itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final mediaType:I
|
||||||
|
|
||||||
|
.field public final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p4, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput p5, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
|
||||||
|
|
||||||
|
iput p6, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,189 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicTrackQueue;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicTrackQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static handle(Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;Lradiant/gestures/queue/DynamicTrackQueueEvent;)V
|
||||||
|
.locals 11
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-lez v1, :done
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->length()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-lez v2, :done
|
||||||
|
|
||||||
|
iget-wide v2, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
const-wide/16 v4, 0x0
|
||||||
|
|
||||||
|
cmp-long v4, v2, v4
|
||||||
|
|
||||||
|
if-lez v4, :done
|
||||||
|
|
||||||
|
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h; # MARKER: R8 Li60/c; Lc60/h; c
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
instance-of v5, v4, Lc60/b0; # MARKER: R8 Lc60/b0;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
check-cast v4, Lc60/b0; # MARKER: R8 Lc60/b0;
|
||||||
|
|
||||||
|
iget-object v5, v4, Lc60/b0;->b:Ljava/lang/String; # MARKER: R8 Lc60/b0; b
|
||||||
|
|
||||||
|
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v1, v4, Lc60/b0;->f:Ljava/util/ArrayList; # MARKER: R8 Lc60/b0; f
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
:find_track
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
instance-of v6, v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
if-eqz v6, :find_track
|
||||||
|
|
||||||
|
check-cast v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
|
||||||
|
|
||||||
|
iget-object v5, v5, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
|
||||||
|
|
||||||
|
instance-of v6, v5, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v6, :find_track
|
||||||
|
|
||||||
|
check-cast v5, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
iget-wide v6, v5, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
|
||||||
|
|
||||||
|
cmp-long v6, v6, v2
|
||||||
|
|
||||||
|
if-nez v6, :find_track
|
||||||
|
|
||||||
|
iget-object v1, p0, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;->b:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; b
|
||||||
|
|
||||||
|
instance-of v2, v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
check-cast v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
|
||||||
|
|
||||||
|
iget-object v6, v1, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
iget-object v1, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-static {v5}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
if-eqz v7, :done
|
||||||
|
|
||||||
|
iget-object v2, v4, Lc60/b0;->a:Ljava/lang/String; # MARKER: R8 Lc60/b0; a
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/String;->length()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lez v3, :done
|
||||||
|
|
||||||
|
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
iget v3, v4, Lc60/b0;->e:I # MARKER: R8 Lc60/b0; e
|
||||||
|
|
||||||
|
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
invoke-direct {v8, v0, v2, v3}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-wide v2, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget-object v3, v4, Lc60/b0;->c:Ljava/lang/String; # MARKER: R8 Lc60/b0; c
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
iget-object v10, v4, Lc60/b0;->g:Ljava/lang/String; # MARKER: R8 Lc60/b0; g
|
||||||
|
|
||||||
|
invoke-static {v10}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-static {v2, v3, v6, v4}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
if-eqz v9, :done
|
||||||
|
|
||||||
|
invoke-virtual {v9, v7}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget v0, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->action:I
|
||||||
|
|
||||||
|
const/4 v2, 0x1
|
||||||
|
|
||||||
|
if-ne v0, v2, :check_add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_to_playlist
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-ne v0, v2, :append
|
||||||
|
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicTrackQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicTrackQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final trackId:J
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V # MARKER: R8 Lam0/l; Lm40/e$e;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
|
||||||
|
|
||||||
|
iput-wide v0, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget-wide v1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v0, :active_queue
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :active_queue
|
||||||
|
|
||||||
|
new-instance v0, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v4, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-direct {v0, v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;-><init>(JLjava/lang/String;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:active_queue
|
||||||
|
new-instance v0, Lradiant/gestures/queue/DynamicTrackQueueEvent;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-wide v4, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
|
||||||
|
|
||||||
|
move v6, p1
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicTrackQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
|
||||||
|
|
||||||
|
:emit
|
||||||
|
iget-object v7, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-interface {v7, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/DynamicTrackQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicTrackQueueEvent;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicTrackQueueEvent.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public final action:I
|
||||||
|
|
||||||
|
.field public final context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field public final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field public final trackId:J
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-wide p4, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->trackId:J
|
||||||
|
|
||||||
|
iput p6, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->action:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,752 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/DynamicTrackResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "DynamicTrackResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private currentAlbumRow(Lradiant/gestures/queue/QueueRequest;)Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
.locals 9
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v1, v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v3, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v2}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-lt v3, v4, :read_row
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_row
|
||||||
|
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v3, v2, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
iget-object v3, v0, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
|
||||||
|
|
||||||
|
iget-object v4, v2, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
|
||||||
|
|
||||||
|
if-ne v3, v4, :invalid
|
||||||
|
|
||||||
|
iget-wide v3, v0, Lu5/b$a;->b:J # MARKER: R8 Lu5/b$a; b
|
||||||
|
|
||||||
|
iget-wide v5, v2, Lu5/b$a;->b:J # MARKER: R8 Lu5/b$a; b
|
||||||
|
|
||||||
|
cmp-long v7, v3, v5
|
||||||
|
|
||||||
|
if-nez v7, :invalid
|
||||||
|
|
||||||
|
iget-object v3, v0, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
|
||||||
|
|
||||||
|
iget-object v4, v2, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
iget v5, v3, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
|
||||||
|
|
||||||
|
iget v6, v4, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
|
||||||
|
|
||||||
|
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v5, v7, :invalid
|
||||||
|
|
||||||
|
if-ne v6, v7, :invalid
|
||||||
|
|
||||||
|
iget-object v5, v3, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
|
||||||
|
|
||||||
|
iget-object v6, v4, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
|
||||||
|
|
||||||
|
if-eq v5, v6, :module_valid
|
||||||
|
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
:module_valid
|
||||||
|
iget-object v5, v4, Lu5/b$a$b;->g:Lcom/aspiro/wamp/model/Availability; # MARKER: R8 Lu5/b$a$b; g
|
||||||
|
|
||||||
|
invoke-interface {v5}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
iget-boolean v5, v4, Lu5/b$a$b;->p:Z # MARKER: R8 Lu5/b$a$b; p
|
||||||
|
|
||||||
|
if-nez v5, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private constructor <init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v1, v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v3, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v2}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-lt v3, v4, :read_row
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_row
|
||||||
|
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v3, v2, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
iget-object v3, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
|
||||||
|
|
||||||
|
iget-object v4, v2, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
|
||||||
|
|
||||||
|
if-ne v3, v4, :invalid
|
||||||
|
|
||||||
|
iget-wide v3, v0, Lo6/b;->b:J # MARKER: R8 Lo6/b; b
|
||||||
|
|
||||||
|
iget-wide v5, v2, Lo6/b;->b:J # MARKER: R8 Lo6/b; b
|
||||||
|
|
||||||
|
cmp-long v7, v3, v5
|
||||||
|
|
||||||
|
if-nez v7, :invalid
|
||||||
|
|
||||||
|
iget-object v3, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
iget-object v4, v2, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
iget v5, v3, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
|
||||||
|
|
||||||
|
iget v6, v4, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
|
||||||
|
|
||||||
|
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v5, v7, :invalid
|
||||||
|
|
||||||
|
if-ne v6, v7, :invalid
|
||||||
|
|
||||||
|
iget v5, v3, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
|
||||||
|
|
||||||
|
iget v6, v4, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
|
||||||
|
|
||||||
|
if-ne v5, v6, :invalid
|
||||||
|
|
||||||
|
iget-object v5, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
|
||||||
|
|
||||||
|
iget-object v6, v4, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
|
||||||
|
|
||||||
|
if-eq v5, v6, :valid
|
||||||
|
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
:valid
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
|
||||||
|
|
||||||
|
iget-object v2, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
iget-object v3, v1, Lo6/i;->p:Ljava/util/LinkedHashMap; # MARKER: R8 Lo6/i; p
|
||||||
|
|
||||||
|
iget-object v4, v2, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
|
||||||
|
|
||||||
|
invoke-virtual {v3, v4}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
instance-of v4, v3, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
check-cast v3, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/dynamicpages/data/model/collection/MediaItemCollectionModule;->getFilteredPagedListItems()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
iget v4, v2, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
|
||||||
|
|
||||||
|
if-gez v4, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v3}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v5
|
||||||
|
|
||||||
|
if-lt v4, v5, :read_track
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_track
|
||||||
|
invoke-interface {v3, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
instance-of v4, v3, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
check-cast v3, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
iget v5, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v4, v5, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v1, Lo6/i;->g:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lo6/i; g
|
||||||
|
|
||||||
|
invoke-interface {v1, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
return-object v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private resolveAlbum(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-gez p2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_row
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_row
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
iget-object v0, p1, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lu5/b$a$b;->g:Lcom/aspiro/wamp/model/Availability; # MARKER: R8 Lu5/b$a$b; g
|
||||||
|
|
||||||
|
invoke-interface {v1}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-boolean v1, v0, Lu5/b$a$b;->p:Z # MARKER: R8 Lu5/b$a$b; p
|
||||||
|
|
||||||
|
if-nez v1, :invalid
|
||||||
|
|
||||||
|
iget v0, v0, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
|
||||||
|
|
||||||
|
new-instance v1, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v1, p2, p1, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/DynamicTrackResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/DynamicTrackResolver;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
|
||||||
|
invoke-static {p0, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 9
|
||||||
|
|
||||||
|
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
if-eqz v1, :dynamic_track
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentAlbumRow(Lradiant/gestures/queue/QueueRequest;)Lu5/b$a; # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
new-instance v1, Lradiant/gestures/queue/AlbumItemQueueAction;
|
||||||
|
|
||||||
|
invoke-direct {v1, v0}, Lradiant/gestures/queue/AlbumItemQueueAction;-><init>(Lu5/b$a;)V # MARKER: R8 Lu5/b$a;
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Lradiant/gestures/queue/AlbumItemQueueAction;->setContext(Landroid/content/Context;)V
|
||||||
|
|
||||||
|
invoke-virtual {v1, v8}, Lradiant/gestures/queue/AlbumItemQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
:dynamic_track
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v2, :append
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-nez v2, :append
|
||||||
|
|
||||||
|
iget-object v2, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
|
||||||
|
|
||||||
|
iget-object v3, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
iget v4, v3, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
|
||||||
|
|
||||||
|
iget-object v5, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
|
||||||
|
|
||||||
|
invoke-virtual {v2, v4, v5}, Lo6/i;->e(ILjava/lang/String;)V # MARKER: R8 Lo6/i; e
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
iget-object v0, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
|
||||||
|
|
||||||
|
iget-object v2, v0, Lo6/i;->p:Ljava/util/LinkedHashMap; # MARKER: R8 Lo6/i; p
|
||||||
|
|
||||||
|
iget-object v3, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
check-cast v3, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
iget-object v3, v3, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
iget-object v3, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
|
||||||
|
|
||||||
|
invoke-virtual {v2, v3}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
|
||||||
|
|
||||||
|
new-instance v3, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPageId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPosition()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
invoke-static {v6}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-direct {v3, v4, v5, v6}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getTitle()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
iget-object v6, v0, Lo6/i;->m:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lo6/i; m
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getSelfLink()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
invoke-static {v7}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
invoke-static {v4, v5, v6, v7}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
iget-object v5, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
check-cast v5, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v0, :check_add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_to_playlist
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v8, v0, :append_track
|
||||||
|
|
||||||
|
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of v0, p2, Lv6/e$a; # MARKER: R8 Lv6/e$a;
|
||||||
|
|
||||||
|
if-eqz v0, :dynamic_holder
|
||||||
|
|
||||||
|
invoke-direct {p0, p1, p2}, Lradiant/gestures/queue/DynamicTrackResolver;->resolveAlbum(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
|
||||||
|
:dynamic_holder
|
||||||
|
instance-of v0, p2, Lp7/a$a; # MARKER: R8 Lp7/a$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-gez p2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_row
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_row
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lo6/b; # MARKER: R8 Lo6/b;
|
||||||
|
|
||||||
|
iget-object v0, p1, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget v0, v0, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
|
||||||
|
|
||||||
|
new-instance v1, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v1, p2, p1, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
invoke-direct {p0, v1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/FavoriteTracksResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "FavoriteTracksResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/FavoriteTracksResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/FavoriteTracksResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
iget-object v2, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/model/FavoriteTrack;
|
||||||
|
|
||||||
|
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1, v2, p1}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->Z(ILcom/aspiro/wamp/model/FavoriteTrack;I)V # MARKER: R8 Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of p1, p2, Ln8/d; # MARKER: R8 Ln8/d;
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p1
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p1, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
check-cast p2, Ln8/d; # MARKER: R8 Ln8/d;
|
||||||
|
|
||||||
|
iget-object p2, p2, Ln8/d;->f:Lcom/aspiro/wamp/model/MediaItem; # MARKER: R8 Ln8/d; f
|
||||||
|
|
||||||
|
instance-of v0, p2, Lcom/aspiro/wamp/model/FavoriteTrack;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p2, Lcom/aspiro/wamp/model/FavoriteTrack;
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1, p2}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->Y(ILcom/aspiro/wamp/model/FavoriteTrack;)Z # MARKER: R8 Y
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
new-instance v1, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v1, p1, p2, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,667 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/FeedResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "FeedResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
.field private final recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private availabilityInteractor()Lcom/aspiro/wamp/model/AvailabilityInteractor;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/tidal/android/feature/feed/ui/FeedView;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/tidal/android/feature/feed/ui/FeedView;->d:Lv70/b; # MARKER: R8 Lv70/b; d
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/tidal/android/feature/feed/ui/c; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/tidal/android/feature/feed/ui/c; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/tidal/android/feature/feed/ui/c;->c:Lz70/a; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c; Lz70/a; c
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, v0, Lz70/a;->c:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lz70/a; c
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
.locals 10
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v8, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/tidal/android/feature/feed/ui/FeedView;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v3, v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v3, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-lt v3, v4, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/queue/FeedResolver;->availabilityInteractor()Lcom/aspiro/wamp/model/AvailabilityInteractor;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
instance-of v3, v2, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
if-eqz v3, :mix
|
||||||
|
|
||||||
|
instance-of v3, v8, Lcom/aspiro/wamp/model/Album;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
iget-boolean v3, v2, Lb80/a;->c:Z # MARKER: R8 Lb80/a; c
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v8, Lcom/aspiro/wamp/model/Album;
|
||||||
|
|
||||||
|
iget-object v5, v2, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
|
||||||
|
|
||||||
|
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
if-ne v6, v7, :invalid
|
||||||
|
|
||||||
|
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v7, v6, :invalid
|
||||||
|
|
||||||
|
invoke-interface {v4, v5}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/Album;)Lcom/aspiro/wamp/model/Availability$Album;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Album;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v3, v2, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
if-eqz v3, :playlist
|
||||||
|
|
||||||
|
instance-of v3, v8, Lcom/aspiro/wamp/mix/model/Mix;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
check-cast v8, Lcom/aspiro/wamp/mix/model/Mix;
|
||||||
|
|
||||||
|
iget-object v5, v2, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
|
||||||
|
|
||||||
|
invoke-virtual {v8}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-eqz v6, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v6, v8, :invalid
|
||||||
|
|
||||||
|
invoke-interface {v4, v7}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getMixAvailability(Ljava/lang/String;)Lcom/aspiro/wamp/model/Availability$Mix;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Mix;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v3, v2, Lb80/d; # MARKER: R8 Lb80/d;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
instance-of v3, v8, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lb80/d; # MARKER: R8 Lb80/d;
|
||||||
|
|
||||||
|
check-cast v8, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
iget-object v5, v2, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
|
||||||
|
|
||||||
|
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-eqz v6, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v7}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v6, v8, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-lez v6, :invalid
|
||||||
|
|
||||||
|
const-string v6, "NOT_READY"
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getStatus()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v8
|
||||||
|
|
||||||
|
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-nez v6, :invalid
|
||||||
|
|
||||||
|
invoke-static {v7}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
invoke-interface {v4, v6}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getPlaylistAvailability(Ljava/util/UUID;)Lcom/aspiro/wamp/model/Availability$Playlist;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Playlist;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/FeedResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/FeedResolver;-><init>(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 9
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/FeedResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
iget p0, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lcom/tidal/android/feature/feed/ui/FeedView;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
iget-object v2, v1, Lcom/tidal/android/feature/feed/ui/FeedView;->c:La80/c; # MARKER: R8 La80/c; c
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
instance-of v4, v0, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
if-eqz v4, :mix
|
||||||
|
|
||||||
|
check-cast v0, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
iget-object v7, v0, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
|
||||||
|
|
||||||
|
iget v8, v0, Lb80/a;->g:I # MARKER: R8 Lb80/a; g
|
||||||
|
|
||||||
|
const/4 v4, 0x1
|
||||||
|
|
||||||
|
goto :metadata
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v4, v0, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
if-eqz v4, :playlist
|
||||||
|
|
||||||
|
check-cast v0, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
iget-object v7, v0, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
|
||||||
|
|
||||||
|
iget v8, v0, Lb80/c;->c:I # MARKER: R8 Lb80/c; c
|
||||||
|
|
||||||
|
const/4 v4, 0x2
|
||||||
|
|
||||||
|
goto :metadata
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
check-cast v0, Lb80/d; # MARKER: R8 Lb80/d;
|
||||||
|
|
||||||
|
iget-object v7, v0, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
|
||||||
|
|
||||||
|
iget v8, v0, Lb80/d;->c:I # MARKER: R8 Lb80/d; c
|
||||||
|
|
||||||
|
const/4 v4, 0x3
|
||||||
|
|
||||||
|
:metadata
|
||||||
|
invoke-static {v8}, Lcom/tidal/android/feature/feed/ui/viewstates/UpdatedIntervals$a;->a(I)Ljava/lang/String; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v8
|
||||||
|
|
||||||
|
iget-object v0, v2, La80/c;->a:Ljava/lang/String; # MARKER: R8 La80/c; a
|
||||||
|
|
||||||
|
new-instance p1, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
invoke-direct {p1, v0, v8}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object v5, v2, La80/c;->e:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 La80/c; e
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v4, v0, :collection
|
||||||
|
|
||||||
|
check-cast v7, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq p0, v0, :add_to_playlist_playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p0, v0, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist_playlist
|
||||||
|
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:collection
|
||||||
|
iget-object v6, v2, La80/c;->b:Lx40/a; # MARKER: R8 La80/c; Lx40/a; b
|
||||||
|
|
||||||
|
instance-of v0, v6, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
check-cast v6, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v4, v0, :queue_mix
|
||||||
|
|
||||||
|
check-cast v7, Lcom/aspiro/wamp/model/Album;
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq p0, v0, :add_to_playlist_album
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p0, v0, :append_album
|
||||||
|
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:append_album
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:add_to_playlist_album
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:queue_mix
|
||||||
|
check-cast v7, Lcom/aspiro/wamp/mix/model/Mix;
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq p0, v0, :add_to_playlist_mix
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p0, v0, :append_mix
|
||||||
|
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:append_mix
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v7
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:add_to_playlist_mix
|
||||||
|
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:retain
|
||||||
|
if-eqz v7, :done
|
||||||
|
|
||||||
|
iget-object v0, v1, Lcom/tidal/android/feature/feed/ui/FeedView;->f:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 f
|
||||||
|
|
||||||
|
invoke-virtual {v0, v7}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
instance-of v0, p2, Lw70/c$a; # MARKER: R8 Lw70/c$a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix_holder
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
goto :has_holder
|
||||||
|
|
||||||
|
:mix_holder
|
||||||
|
|
||||||
|
instance-of v0, p2, Lw70/h$a; # MARKER: R8 Lw70/h$a;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist_holder
|
||||||
|
|
||||||
|
const/4 v5, 0x2
|
||||||
|
|
||||||
|
goto :has_holder
|
||||||
|
|
||||||
|
:playlist_holder
|
||||||
|
|
||||||
|
instance-of v0, p2, Lw70/k$a; # MARKER: R8 Lw70/k$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
:has_holder
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
if-gez p2, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v5, v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lb80/a; # MARKER: R8 Lb80/a;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
goto :request
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p1, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
if-ne v5, v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lb80/c; # MARKER: R8 Lb80/c;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
goto :request
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p1, Lb80/d; # MARKER: R8 Lb80/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne v5, v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lb80/d; # MARKER: R8 Lb80/d;
|
||||||
|
|
||||||
|
iget-object v1, p1, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
:request
|
||||||
|
new-instance v3, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v3, p2, v1, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
invoke-direct {p0, v3}, Lradiant/gestures/queue/FeedResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
return-object v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,273 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/MyAlbumsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "MyAlbumsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->h:Lad/f; # MARKER: R8 Lad/f; h
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->N()La50/d; # MARKER: R8 La50/d; N
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v1, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-lt v1, v2, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
instance-of v1, v0, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
iget-boolean v1, v0, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v1, v2, :invalid
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/MyAlbumsResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyAlbumsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyAlbumsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->c:Lfd/c; # MARKER: R8 Lfd/c; c
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, v1, Lfd/c;->a:Lx40/a; # MARKER: R8 Lfd/c; Lx40/a; a
|
||||||
|
|
||||||
|
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
iget-object v4, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
iget-object v5, v1, Lfd/c;->d:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lfd/c; d
|
||||||
|
|
||||||
|
iget-object p0, v1, Lfd/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lfd/c; c
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v6, v1, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v6, v1, :append
|
||||||
|
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:retain
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->j:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 j
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
instance-of v0, p2, Lbd/d$a; # MARKER: R8 Lbd/d$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
new-instance v2, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v2, p2, v0, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,328 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/MyMixesAndRadioResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "MyMixesAndRadioResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/mix/model/Mix;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mix/model/Mix;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->c:Lpe/f; # MARKER: R8 Lpe/f; c
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->N()La50/d; # MARKER: R8 La50/d; N
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lt v2, v3, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v1, Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
|
||||||
|
iget-boolean v2, v1, Lve/a;->f:Z # MARKER: R8 Lve/a; f
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
iget-object v2, v1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget-object v3, v1, Lve/a;->a:Ljava/lang/String; # MARKER: R8 Lve/a; a
|
||||||
|
|
||||||
|
invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v2, v3, :invalid
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/MyMixesAndRadioResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyMixesAndRadioResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyMixesAndRadioResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->c:Lpe/f; # MARKER: R8 Lpe/f; c
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, v1, Lpe/f;->a:Lx40/a; # MARKER: R8 Lpe/f; Lx40/a; a
|
||||||
|
|
||||||
|
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
iget-object v4, p1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
|
||||||
|
|
||||||
|
new-instance v5, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
const-string v6, "mycollection_mixes_and_radio"
|
||||||
|
|
||||||
|
invoke-direct {v5, v6}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object p0, v1, Lpe/f;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lpe/f; b
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v7, v1, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v7, v1, :append
|
||||||
|
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:retain
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->h:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 h
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of v0, p2, Lqe/c$a; # MARKER: R8 Lqe/c$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-gez p2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lve/a; # MARKER: R8 Lve/a;
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lve/a;->f:Z # MARKER: R8 Lve/a; f
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, p1, Lve/a;->a:Ljava/lang/String; # MARKER: R8 Lve/a; a
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
new-instance v3, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/MyPlaylistsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "MyPlaylistsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->j:Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h; # MARKER: R8 Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h; j
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->N()La50/d; # MARKER: R8 La50/d; N
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lt v2, v3, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
iget-boolean v2, v1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
iget-boolean v2, v1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
|
||||||
|
|
||||||
|
if-eqz v2, :check_playlist
|
||||||
|
|
||||||
|
const-string v2, "NOT_READY"
|
||||||
|
|
||||||
|
iget-object v3, v1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
|
||||||
|
|
||||||
|
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-nez v2, :invalid
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
iget-object v2, v1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lez v3, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/MyPlaylistsResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyPlaylistsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
iget v5, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyPlaylistsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->d:Lhf/c; # MARKER: R8 Lhf/c; d
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget-object v3, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
iget-object v4, v1, Lhf/c;->e:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lhf/c; e
|
||||||
|
|
||||||
|
iget-object p0, v1, Lhf/c;->d:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lhf/c; d
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v5, v0, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v5, v0, :append
|
||||||
|
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of v0, p2, Ldf/d$a; # MARKER: R8 Ldf/d$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
|
||||||
|
|
||||||
|
if-eqz v0, :check_playlist
|
||||||
|
|
||||||
|
const-string v0, "NOT_READY"
|
||||||
|
|
||||||
|
iget-object v1, p1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :invalid
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
iget-object v0, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-lez v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
new-instance v3, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,416 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/PlaylistItemsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "PlaylistItemsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v1
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
move-result-object v2
|
||||||
|
instance-of v3, v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
check-cast v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
if-gez v3, :check_size
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
|
||||||
|
move-result v4
|
||||||
|
if-lt v3, v4, :read_item
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
|
||||||
|
if-eqz v3, :captured_podcast
|
||||||
|
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
goto :member
|
||||||
|
|
||||||
|
:captured_podcast
|
||||||
|
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
|
||||||
|
if-eqz v3, :captured_suggestion
|
||||||
|
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
:member
|
||||||
|
move-object v3, v0
|
||||||
|
check-cast v3, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
|
||||||
|
move-object v4, v2
|
||||||
|
check-cast v4, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
|
||||||
|
|
||||||
|
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getShouldHideItem()Z
|
||||||
|
move-result v5
|
||||||
|
if-nez v5, :invalid
|
||||||
|
|
||||||
|
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getAvailability()Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
move-result-object v5
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
move-result v5
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
invoke-interface {v3}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getUuid()Ljava/lang/String;
|
||||||
|
move-result-object v5
|
||||||
|
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getUuid()Ljava/lang/String;
|
||||||
|
move-result-object v6
|
||||||
|
if-eq v5, v6, :member_identity
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
move-result v5
|
||||||
|
if-eqz v5, :invalid
|
||||||
|
|
||||||
|
:member_identity
|
||||||
|
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object v0
|
||||||
|
invoke-static {v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object v3
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getIndex()I
|
||||||
|
move-result v4
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getIndex()I
|
||||||
|
move-result v5
|
||||||
|
if-ne v4, v5, :invalid
|
||||||
|
goto :check_track
|
||||||
|
|
||||||
|
:captured_suggestion
|
||||||
|
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
move-object v3, v2
|
||||||
|
check-cast v3, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;->getAvailability()Lcom/aspiro/wamp/model/Availability;
|
||||||
|
move-result-object v3
|
||||||
|
invoke-interface {v3}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
|
||||||
|
move-result v3
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object v0
|
||||||
|
invoke-static {v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object v3
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
:check_track
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v4
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v5
|
||||||
|
if-ne v4, v5, :invalid
|
||||||
|
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
if-ne v5, v6, :invalid
|
||||||
|
|
||||||
|
iget-object v4, v1, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 d
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
invoke-interface {v4, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
move-result-object v4
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
move-result v4
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
new-instance v0, Lradiant/gestures/queue/PlaylistItemsResolver;
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/PlaylistItemsResolver;-><init>(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
|
||||||
|
invoke-static {p0, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private playlistIndex(Lradiant/gestures/queue/QueueRequest;)I
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v0
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
move-result-object v0
|
||||||
|
instance-of v1, v0, La50/b; # MARKER: R8 La50/b;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
check-cast v0, La50/b; # MARKER: R8 La50/b;
|
||||||
|
iget-object v0, v0, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
const/4 v2, 0x0
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
:loop
|
||||||
|
if-ge v2, v1, :done
|
||||||
|
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
move-result-object v4
|
||||||
|
instance-of v5, v4, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
|
||||||
|
if-eqz v5, :next
|
||||||
|
add-int/lit8 v3, v3, 0x1
|
||||||
|
|
||||||
|
:next
|
||||||
|
add-int/lit8 v2, v2, 0x1
|
||||||
|
goto :loop
|
||||||
|
|
||||||
|
:done
|
||||||
|
return v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, -0x1
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private static track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
|
||||||
|
if-eqz v0, :podcast
|
||||||
|
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;->getTrack()Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object p0
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:podcast
|
||||||
|
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
|
||||||
|
if-eqz v0, :suggestion
|
||||||
|
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;->getItem()Lcom/aspiro/wamp/model/MediaItemParent;
|
||||||
|
move-result-object p0
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/model/MediaItemParent;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem;
|
||||||
|
move-result-object p0
|
||||||
|
instance-of v0, p0, Lcom/aspiro/wamp/model/Track;
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
check-cast p0, Lcom/aspiro/wamp/model/Track;
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:suggestion
|
||||||
|
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;->getTrack()Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object p0
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
return-object p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 9
|
||||||
|
|
||||||
|
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
move-result-object v0
|
||||||
|
if-eqz v0, :done
|
||||||
|
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object v1
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v2
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
const/4 v3, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v3, :build_source
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
move-result v3
|
||||||
|
if-eqz v3, :play
|
||||||
|
|
||||||
|
:build_source
|
||||||
|
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz v3, :append_member
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v3
|
||||||
|
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
move-result-object v3
|
||||||
|
sget v4, Lcom/aspiro/wamp/R$string;->recommended_tracks:I
|
||||||
|
invoke-static {v4}, Lcom/aspiro/wamp/util/h0;->c(I)Ljava/lang/String; # MARKER: R8 Lcom/aspiro/wamp/util/h0; c
|
||||||
|
move-result-object v4
|
||||||
|
iget-object v5, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->h:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 h
|
||||||
|
sget-object v6, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;->INSTANCE:Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;
|
||||||
|
invoke-static {v3, v4, v5, v6}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
|
||||||
|
move-result-object v7
|
||||||
|
invoke-virtual {v7, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
sget-object v6, Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Suggestions;->INSTANCE:Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Suggestions;
|
||||||
|
goto :append
|
||||||
|
|
||||||
|
:append_member
|
||||||
|
iget-object v3, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->c:Lcom/aspiro/wamp/playlist/ui/items/a; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
|
||||||
|
if-eqz v3, :done
|
||||||
|
invoke-interface {v3}, Lcom/aspiro/wamp/playlist/ui/items/a;->k()Lcom/aspiro/wamp/playlist/viewmodel/PlaylistCollectionViewModel; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; k
|
||||||
|
move-result-object v3
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/playlist/viewmodel/PlaylistCollectionViewModel;->getPlaylist()Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
move-result-object v3
|
||||||
|
if-eqz v3, :done
|
||||||
|
iget-object v4, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->h:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 h
|
||||||
|
if-eqz v4, :member_nav_ready
|
||||||
|
invoke-static {v4}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
move-result-object v4
|
||||||
|
:member_nav_ready
|
||||||
|
invoke-static {v3, v4}, Lcom/aspiro/wamp/playqueue/source/model/b;->f(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/PlaylistSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; f
|
||||||
|
move-result-object v7
|
||||||
|
invoke-virtual {v7, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
sget-object v6, Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Items;->INSTANCE:Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Items;
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-virtual {v2}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
move-result-object v3
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v0, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v0, :append_track
|
||||||
|
|
||||||
|
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
iget-object v3, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->c:Lcom/aspiro/wamp/playlist/ui/items/a; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
|
||||||
|
if-eqz v3, :done
|
||||||
|
instance-of v0, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz v0, :play_member
|
||||||
|
invoke-interface {v3, v1}, Lcom/aspiro/wamp/playlist/ui/items/a;->c(Lcom/aspiro/wamp/model/Track;)V # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play_member
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->playlistIndex(Lradiant/gestures/queue/QueueRequest;)I
|
||||||
|
move-result v0
|
||||||
|
if-gez v0, :start_member
|
||||||
|
goto :done
|
||||||
|
:start_member
|
||||||
|
invoke-interface {v3, v0}, Lcom/aspiro/wamp/playlist/ui/items/a;->i(I)V # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; i
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v0
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
move-result v0
|
||||||
|
const/4 v1, -0x1
|
||||||
|
if-ne v0, v1, :has_position
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
move-result-object p1
|
||||||
|
instance-of v1, p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
check-cast p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
||||||
|
move-result v1
|
||||||
|
if-lt v0, v1, :read_item
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v1, p2, Lij/q$a; # MARKER: R8 Lij/q$a;
|
||||||
|
if-eqz v1, :podcast_holder
|
||||||
|
instance-of v1, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
goto :create
|
||||||
|
|
||||||
|
:podcast_holder
|
||||||
|
instance-of v1, p2, Lij/a0$a; # MARKER: R8 Lij/a0$a;
|
||||||
|
if-eqz v1, :suggestion_holder
|
||||||
|
instance-of v1, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
goto :create
|
||||||
|
|
||||||
|
:suggestion_holder
|
||||||
|
instance-of p2, p2, Lij/j0$a; # MARKER: R8 Lij/j0$a;
|
||||||
|
if-eqz p2, :invalid
|
||||||
|
instance-of p2, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
|
||||||
|
if-eqz p2, :invalid
|
||||||
|
|
||||||
|
:create
|
||||||
|
invoke-static {p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
|
||||||
|
move-result-object p2
|
||||||
|
if-eqz p2, :invalid
|
||||||
|
invoke-virtual {p2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v1
|
||||||
|
new-instance v2, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
invoke-direct {v2, v0, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
invoke-direct {p0, v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
move-result-object p1
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/PublicPlaylistQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "PublicPlaylistQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$d;)V # MARKER: R8 Lam0/l; Lm40/e$d;
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object p1, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v4, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
const/4 v5, 0x3
|
||||||
|
|
||||||
|
move v6, p1
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
invoke-interface {v1, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/PublicPlaylistQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public stableKey()Ljava/lang/String;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const-string v1, "ppl:"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v1, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,732 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/QueueExecutor;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "QueueExecutor.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private static activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
:unwrap
|
||||||
|
instance-of v0, p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
if-nez v0, :ready
|
||||||
|
|
||||||
|
instance-of v0, p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eq v0, p0, :invalid
|
||||||
|
|
||||||
|
move-object p0, v0
|
||||||
|
|
||||||
|
goto :unwrap
|
||||||
|
|
||||||
|
:ready
|
||||||
|
check-cast p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return-object p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
if-eqz p2, :done
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
iget-object v0, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-interface {v0, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v0, v0, Lo3/a;->l:Lcom/aspiro/wamp/module/album/AlbumProvider; # MARKER: R8 Lo3/a; l
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
new-instance v1, Lc3/h; # MARKER: R8 Lc3/h;
|
||||||
|
|
||||||
|
invoke-direct {v1, p1, v0, p2, p3}, Lc3/h;-><init>(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/module/album/AlbumProvider;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lc3/h;
|
||||||
|
|
||||||
|
invoke-virtual {v1, p0}, Lc3/h;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/h; b
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
if-eqz p2, :done
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
iget-object v0, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-interface {v0, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v0, v0, Lu3/a;->j:Lj3/k$a; # MARKER: R8 Lu3/a; Lj3/k$a; j
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-interface {v0, p1, p2, p3}, Lj3/k$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/k; # MARKER: R8 Lj3/k$a; Lj3/k; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0}, Lj3/k;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/k; b
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
if-eqz p2, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
new-instance v0, Lcom/aspiro/wamp/contextmenu/item/playlist/f; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/f;-><init>(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/f;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f; b
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
if-eqz p2, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
new-instance v0, Lm3/d; # MARKER: R8 Lm3/d;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1, p2, p3}, Lm3/d;-><init>(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V # MARKER: R8 Lm3/d;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0}, Lm3/d;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/d; b
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Le5/z$n2;->r2()Lcom/aspiro/wamp/playqueue/g1; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playqueue/g1; r2
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/playqueue/g1;->a()Lcom/aspiro/wamp/player/d; # MARKER: R8 Lcom/aspiro/wamp/playqueue/g1; Lcom/aspiro/wamp/player/d; a
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/player/d;->b()Lcom/aspiro/wamp/model/MediaItemParent; # MARKER: R8 Lcom/aspiro/wamp/player/d; b
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
if-eqz v2, :play
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
:unwrap_context
|
||||||
|
instance-of v2, p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
if-nez v2, :has_activity
|
||||||
|
|
||||||
|
instance-of v2, p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
move-object v2, p0
|
||||||
|
|
||||||
|
check-cast v2, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
if-eq v2, p0, :done
|
||||||
|
|
||||||
|
move-object p0, v2
|
||||||
|
|
||||||
|
goto :unwrap_context
|
||||||
|
|
||||||
|
:has_activity
|
||||||
|
|
||||||
|
iget-object v2, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
|
||||||
|
|
||||||
|
invoke-interface {v2, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget-object v2, v2, Lo3/a;->e:Lc3/i$a; # MARKER: R8 Lo3/a; Lc3/i$a; e
|
||||||
|
|
||||||
|
invoke-interface {v2, p1, p2, p3}, Lc3/i$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/i; # MARKER: R8 Lc3/i$a; Lc3/i; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
check-cast p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lc3/i;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/i; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-virtual {v1}, Le5/z$n2;->u3()Lcom/aspiro/wamp/playback/f; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/f; u3
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result p1
|
||||||
|
|
||||||
|
const/4 p2, 0x1
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1, p3, p2, v0}, Lcom/aspiro/wamp/playback/f;->a(ILcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lhu/akarnokd/rxjava/interop/f; # MARKER: R8 Lcom/aspiro/wamp/playback/f; Lhu/akarnokd/rxjava/interop/f; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static hasActiveQueue()Z
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Le5/z$n2;->r2()Lcom/aspiro/wamp/playqueue/g1; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playqueue/g1; r2
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/playqueue/g1;->a()Lcom/aspiro/wamp/player/d; # MARKER: R8 Lcom/aspiro/wamp/playqueue/g1; Lcom/aspiro/wamp/player/d; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/player/d;->b()Lcom/aspiro/wamp/model/MediaItemParent; # MARKER: R8 Lcom/aspiro/wamp/player/d; b
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :empty
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
:empty
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :play
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
:unwrap_context
|
||||||
|
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
if-nez v1, :has_activity
|
||||||
|
|
||||||
|
instance-of v1, p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
move-object v1, p0
|
||||||
|
|
||||||
|
check-cast v1, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eq v1, p0, :done
|
||||||
|
|
||||||
|
move-object p0, v1
|
||||||
|
|
||||||
|
goto :unwrap_context
|
||||||
|
|
||||||
|
:has_activity
|
||||||
|
|
||||||
|
iget-object v1, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget-object v1, v1, Lu3/a;->e:Lj3/n$a; # MARKER: R8 Lu3/a; Lj3/n$a; e
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lj3/n$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/n; # MARKER: R8 Lj3/n$a; Lj3/n; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
check-cast p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lj3/n;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/n; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
check-cast p0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Le5/z$n2;->x3()Lcom/aspiro/wamp/playback/e0; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/e0; x3
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
const/4 p2, 0x1
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1, p3, p2, v0}, Lcom/aspiro/wamp/playback/e0;->a(Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lcom/aspiro/wamp/playback/e0; a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lez v0, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :play
|
||||||
|
|
||||||
|
:unwrap_context
|
||||||
|
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
if-nez v1, :has_activity
|
||||||
|
|
||||||
|
instance-of v1, p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
move-object v1, p0
|
||||||
|
|
||||||
|
check-cast v1, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eq v1, p0, :done
|
||||||
|
|
||||||
|
move-object p0, v1
|
||||||
|
|
||||||
|
goto :unwrap_context
|
||||||
|
|
||||||
|
:has_activity
|
||||||
|
|
||||||
|
iget-object v1, v0, Le5/z$n2;->w8:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; w8
|
||||||
|
|
||||||
|
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/contextmenu/item/playlist/h$a; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;->a(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/h; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h$a; Lcom/aspiro/wamp/contextmenu/item/playlist/h; a
|
||||||
|
|
||||||
|
move-result-object p2
|
||||||
|
|
||||||
|
check-cast p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
invoke-virtual {p2, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/h;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-virtual {v0}, Le5/z$n2;->y3()Lcom/aspiro/wamp/playback/k0; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/k0; y3
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
invoke-virtual {p0, p1, p3}, Lcom/aspiro/wamp/playback/k0;->c(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lcom/aspiro/wamp/playback/k0; c
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :play
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
iget-object v1, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget-object v1, v1, Lo3/a;->d:Lc3/l$a; # MARKER: R8 Lo3/a; Lc3/l$a; d
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lc3/l$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/l; # MARKER: R8 Lc3/l$a; Lc3/l; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lc3/l;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/l; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-static {p0, p1, p2, p3, p4}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :play
|
||||||
|
|
||||||
|
if-eqz p4, :done
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
iget-object v1, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget-object v1, v1, Lu3/a;->d:Lj3/q$a; # MARKER: R8 Lu3/a; Lj3/q$a; d
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lj3/q$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/q; # MARKER: R8 Lj3/q$a; Lj3/q; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lj3/q;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/q; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-static {p0, p1, p2, p3, p4}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lez v0, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :play
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
iget-object v0, v0, Le5/z$n2;->v8:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; v8
|
||||||
|
|
||||||
|
invoke-interface {v0}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/contextmenu/item/playlist/u$a; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;
|
||||||
|
|
||||||
|
invoke-interface {v0, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;->a(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/u; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u$a; Lcom/aspiro/wamp/contextmenu/item/playlist/u; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/u;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u; b
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-static {p0, p1, p2, p3}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-eqz v1, :play
|
||||||
|
|
||||||
|
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
iget-object v1, v1, Le5/z$n2;->K9:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; K9
|
||||||
|
|
||||||
|
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lm3/i$a; # MARKER: R8 Lm3/i$a;
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lm3/i$a;->a(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/i; # MARKER: R8 Lm3/i$a; Lm3/i; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lm3/i;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/i; b
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:play
|
||||||
|
invoke-static {p0, p1, p2, p3}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
:done
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
:unwrap_context
|
||||||
|
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
if-nez v1, :has_activity
|
||||||
|
|
||||||
|
instance-of v1, p0, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
move-object v1, p0
|
||||||
|
|
||||||
|
check-cast v1, Landroid/content/ContextWrapper;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eq v1, p0, :done
|
||||||
|
|
||||||
|
move-object p0, v1
|
||||||
|
|
||||||
|
goto :unwrap_context
|
||||||
|
|
||||||
|
:has_activity
|
||||||
|
|
||||||
|
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
|
||||||
|
|
||||||
|
iget-object v1, v1, Le5/z$n2;->k9:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; k9
|
||||||
|
|
||||||
|
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lm3/f$a; # MARKER: R8 Lm3/f$a;
|
||||||
|
|
||||||
|
invoke-interface {v1, p1, p2, p3}, Lm3/f$a;->a(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/f; # MARKER: R8 Lm3/f$a; Lm3/f; a
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
check-cast p0, Landroidx/fragment/app/FragmentActivity;
|
||||||
|
|
||||||
|
invoke-virtual {p1, p0}, Lm3/f;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/f; b
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
:done
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "QueueRequest.smali"
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field public static final ACTION_NONE:I = 0x0
|
||||||
|
|
||||||
|
.field public static final ACTION_PLAY_NEXT:I = 0x1
|
||||||
|
|
||||||
|
.field public static final ACTION_ADD_TO_QUEUE:I = 0x2
|
||||||
|
|
||||||
|
.field public static final ACTION_ADD_TO_PLAYLIST:I = 0x3
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field public action:I
|
||||||
|
|
||||||
|
.field public final id:I
|
||||||
|
|
||||||
|
.field public final media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.field public final position:I
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(ILjava/lang/Object;I)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput p1, p0, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iput p3, p0, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
.class public interface abstract Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "QueueRowResolver.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public abstract execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public abstract resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,224 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/QueueSwipeRemove;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "QueueSwipeRemove.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static draw(Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FIZ)V
|
||||||
|
.locals 10
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p4, v0, :done
|
||||||
|
|
||||||
|
iget-object v0, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
int-to-float v1, v1
|
||||||
|
|
||||||
|
cmpg-float v2, p3, v1
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getTop()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-gez v2, :right_swipe
|
||||||
|
|
||||||
|
# left swipe
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getRight()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
float-to-int v2, p3
|
||||||
|
|
||||||
|
add-int/2addr v2, v1
|
||||||
|
|
||||||
|
goto :bounds_ready
|
||||||
|
|
||||||
|
:right_swipe
|
||||||
|
cmpl-float v1, p3, v1
|
||||||
|
|
||||||
|
if-lez v1, :done
|
||||||
|
|
||||||
|
# right swipe
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
float-to-int v1, p3
|
||||||
|
|
||||||
|
add-int/2addr v1, v2
|
||||||
|
|
||||||
|
:bounds_ready
|
||||||
|
sub-int v5, v1, v2
|
||||||
|
|
||||||
|
if-lez v5, :done
|
||||||
|
|
||||||
|
iget-object v6, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->c:Landroid/graphics/drawable/ColorDrawable; # MARKER: R8 c
|
||||||
|
|
||||||
|
invoke-virtual {v6, v2, v3, v1, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
if-lez v7, :draw_background
|
||||||
|
|
||||||
|
# 30% threshold
|
||||||
|
mul-int/lit8 v8, v7, 0x3
|
||||||
|
|
||||||
|
div-int/lit8 v8, v8, 0xa
|
||||||
|
|
||||||
|
if-lez v8, :draw_background
|
||||||
|
|
||||||
|
if-eqz p5, :draw_alpha
|
||||||
|
|
||||||
|
if-lt v5, v8, :below_threshold
|
||||||
|
|
||||||
|
const/4 v9, 0x1
|
||||||
|
|
||||||
|
goto :update_haptic
|
||||||
|
|
||||||
|
:below_threshold
|
||||||
|
const/4 v9, 0x0
|
||||||
|
|
||||||
|
:update_haptic
|
||||||
|
iget-boolean p2, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->i:Z # MARKER: R8 i
|
||||||
|
|
||||||
|
if-eq v9, p2, :draw_alpha
|
||||||
|
|
||||||
|
iput-boolean v9, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->i:Z # MARKER: R8 i
|
||||||
|
|
||||||
|
# CLOCK_TICK
|
||||||
|
const/4 p2, 0x4
|
||||||
|
|
||||||
|
invoke-virtual {v0, p2}, Landroid/view/View;->performHapticFeedback(I)Z
|
||||||
|
|
||||||
|
:draw_alpha
|
||||||
|
const/16 v9, 0x40
|
||||||
|
|
||||||
|
mul-int/2addr v9, v5
|
||||||
|
|
||||||
|
div-int/2addr v9, v8
|
||||||
|
|
||||||
|
const/16 v8, 0x40
|
||||||
|
|
||||||
|
invoke-static {v9, v8}, Ljava/lang/Math;->min(II)I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
add-int/lit16 v8, v8, 0xbf
|
||||||
|
|
||||||
|
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||||
|
|
||||||
|
:draw_background
|
||||||
|
invoke-virtual {v6, p1}, Landroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V
|
||||||
|
|
||||||
|
iget-object v6, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->h:Landroid/graphics/drawable/Drawable; # MARKER: R8 h
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
if-lez v7, :done
|
||||||
|
|
||||||
|
if-lez v8, :done
|
||||||
|
|
||||||
|
sub-int v9, v4, v3
|
||||||
|
|
||||||
|
sub-int/2addr v9, v8
|
||||||
|
|
||||||
|
div-int/lit8 v9, v9, 0x2
|
||||||
|
|
||||||
|
const/4 p2, 0x0
|
||||||
|
|
||||||
|
int-to-float p2, p2
|
||||||
|
|
||||||
|
cmpg-float p2, p3, p2
|
||||||
|
|
||||||
|
if-gez p2, :right_icon
|
||||||
|
|
||||||
|
sub-int p2, v1, v9
|
||||||
|
|
||||||
|
sub-int p4, p2, v7
|
||||||
|
|
||||||
|
add-int p2, v5, v7
|
||||||
|
|
||||||
|
div-int/lit8 p2, p2, 0x2
|
||||||
|
|
||||||
|
sub-int p2, v1, p2
|
||||||
|
|
||||||
|
invoke-static {p2, p4}, Ljava/lang/Math;->max(II)I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
goto :icon_positioned
|
||||||
|
|
||||||
|
:right_icon
|
||||||
|
add-int p2, v2, v9
|
||||||
|
|
||||||
|
sub-int p4, v5, v7
|
||||||
|
|
||||||
|
div-int/lit8 p4, p4, 0x2
|
||||||
|
|
||||||
|
add-int/2addr p4, v2
|
||||||
|
|
||||||
|
invoke-static {p4, p2}, Ljava/lang/Math;->min(II)I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
:icon_positioned
|
||||||
|
add-int p4, p2, v7
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
invoke-virtual {p1, v2, v3, v1, v4}, Landroid/graphics/Canvas;->clipRect(IIII)Z
|
||||||
|
|
||||||
|
add-int v2, v3, v9
|
||||||
|
|
||||||
|
add-int v3, v2, v8
|
||||||
|
|
||||||
|
invoke-virtual {v6, p2, v2, p4, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
|
||||||
|
|
||||||
|
const/16 v8, 0xff
|
||||||
|
|
||||||
|
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||||
|
|
||||||
|
invoke-virtual {v6, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static setRemoveDuration(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
||||||
|
|
||||||
|
move-result-object p0
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
# 80ms (faster animation, native is 120ms)
|
||||||
|
const-wide/16 v0, 0x50
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setRemoveDuration(J)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,273 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/SearchAlbumsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "SearchAlbumsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->f:Lid/e; # MARKER: R8 Lid/e; f
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->N()La50/d; # MARKER: R8 La50/d; N
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v1, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-lt v1, v2, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
instance-of v1, v0, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
iget-boolean v1, v0, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-object v1, v0, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v1, v2, :invalid
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/SearchAlbumsResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/SearchAlbumsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/SearchAlbumsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->c:Lld/c; # MARKER: R8 Lld/c; c
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget-object v2, v1, Lld/c;->a:Lx40/a; # MARKER: R8 Lld/c; Lx40/a; a
|
||||||
|
|
||||||
|
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
iget-object v4, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
iget-object v5, v1, Lld/c;->d:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lld/c; d
|
||||||
|
|
||||||
|
iget-object p0, v1, Lld/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lld/c; c
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq v6, v1, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
if-ne v6, v1, :append
|
||||||
|
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
goto :retain
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:retain
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of v0, p2, Ljd/d$a; # MARKER: R8 Ljd/d$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lzc/a; # MARKER: R8 Lzc/a;
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
new-instance v2, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v2, p2, v0, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,316 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/SearchPlaylistsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "SearchPlaylistsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/model/Playlist;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->g:Lwf/d; # MARKER: R8 Lwf/d; g
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->N()La50/d; # MARKER: R8 La50/d; N
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v2, :check_size
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lt v2, v3, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
iget-boolean v2, v1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
iget-boolean v2, v1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
|
||||||
|
|
||||||
|
if-eqz v2, :check_playlist
|
||||||
|
|
||||||
|
const-string v2, "NOT_READY"
|
||||||
|
|
||||||
|
iget-object v3, v1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
|
||||||
|
|
||||||
|
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-nez v2, :invalid
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
iget-object v2, v1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-lez v3, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/SearchPlaylistsResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Lradiant/gestures/queue/SearchPlaylistsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/SearchPlaylistsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->c:Lzf/c; # MARKER: R8 Lzf/c; c
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
iget-object v3, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
const-string v5, "mycollection_search_playlists"
|
||||||
|
|
||||||
|
invoke-direct {v4, v5}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object p0, v1, Lzf/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lzf/c; c
|
||||||
|
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v6, v0, :add_to_playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v6, v0, :append
|
||||||
|
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
instance-of v0, p2, Lxf/d$a; # MARKER: R8 Lxf/d$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
const/4 v0, -0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lcf/b; # MARKER: R8 Lcf/b;
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
iget-boolean v0, p1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
|
||||||
|
|
||||||
|
if-eqz v0, :check_playlist
|
||||||
|
|
||||||
|
const-string v0, "NOT_READY"
|
||||||
|
|
||||||
|
iget-object v1, p1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :invalid
|
||||||
|
|
||||||
|
:check_playlist
|
||||||
|
iget-object v0, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-lez v1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
new-instance v3, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
return-object v3
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,504 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/SuggestionsResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "SuggestionsResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
.field private final recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v1, Landroidx/fragment/app/Fragment;
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Landroidx/fragment/app/Fragment;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getView()Landroid/view/View;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v3, v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v2, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
if-gez v3, :adapter_bounds
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:adapter_bounds
|
||||||
|
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-lt v3, v4, :adapter_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:adapter_item
|
||||||
|
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
instance-of v4, v2, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object v5
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
invoke-virtual {v5}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v6
|
||||||
|
|
||||||
|
if-ne v4, v6, :invalid
|
||||||
|
|
||||||
|
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
|
||||||
|
if-ne v6, v7, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getAvailability()Lcom/aspiro/wamp/model/Availability;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-interface {v4}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/queue/SuggestionsResolver;->availability()Lcom/aspiro/wamp/model/AvailabilityInteractor;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
invoke-interface {v4, v5}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/queue/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v4, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
|
||||||
|
|
||||||
|
iget-object v1, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;->o:Ljava/lang/Object; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; o
|
||||||
|
|
||||||
|
instance-of v4, v1, Ljava/util/List;
|
||||||
|
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Ljava/util/List;
|
||||||
|
|
||||||
|
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
if-lt v3, v4, :viewmodel_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:viewmodel_item
|
||||||
|
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v3, v1, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-ne v6, v1, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private availability()Lcom/aspiro/wamp/model/AvailabilityInteractor;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
|
||||||
|
|
||||||
|
if-eqz v1, :dialog
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h; d
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:dialog
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; d
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/SuggestionsResolver;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/SuggestionsResolver;-><init>(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
|
||||||
|
|
||||||
|
if-eqz v1, :dialog
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;->c:Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h; Lcom/aspiro/wamp/nowplaying/view/suggestions/l; c
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:dialog
|
||||||
|
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
|
||||||
|
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
|
||||||
|
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->c:Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; Lcom/aspiro/wamp/nowplaying/view/suggestions/l; c
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/SuggestionsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
invoke-direct {p0}, Lradiant/gestures/queue/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
const/4 v3, 0x3
|
||||||
|
|
||||||
|
if-eq v2, v3, :track_action
|
||||||
|
|
||||||
|
const/4 v3, 0x1
|
||||||
|
|
||||||
|
if-ne v2, v3, :default_action
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :default_action
|
||||||
|
|
||||||
|
:track_action
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
new-instance v4, Lcom/aspiro/wamp/model/MediaItemParent;
|
||||||
|
|
||||||
|
invoke-direct {v4, v2}, Lcom/aspiro/wamp/model/MediaItemParent;-><init>(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
invoke-static {v4}, Lkotlin/collections/u;->h(Ljava/lang/Object;)Ljava/util/List; # MARKER: R8 Lkotlin/collections/u;
|
||||||
|
|
||||||
|
move-result-object v4
|
||||||
|
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
|
||||||
|
|
||||||
|
iget-object v5, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;->j:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; j
|
||||||
|
|
||||||
|
invoke-static {v3, v4, v5}, Lcom/aspiro/wamp/playqueue/source/model/b;->p(Ljava/lang/String;Ljava/util/List;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; p
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
const-string v3, "suggestions"
|
||||||
|
|
||||||
|
invoke-direct {v4, v3}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
check-cast v0, Landroidx/fragment/app/Fragment;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
const/4 v3, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v3, :add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {v0, v2, v4, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist
|
||||||
|
invoke-static {v0, v2, v4, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:default_action
|
||||||
|
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :empty_queue
|
||||||
|
|
||||||
|
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;
|
||||||
|
|
||||||
|
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;-><init>(I)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:empty_queue
|
||||||
|
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;
|
||||||
|
|
||||||
|
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;-><init>(I)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;
|
||||||
|
|
||||||
|
:emit
|
||||||
|
invoke-interface {v1, v2}, Lcom/aspiro/wamp/nowplaying/view/suggestions/j;->a(Lcom/aspiro/wamp/nowplaying/view/suggestions/i;)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/j; Lcom/aspiro/wamp/nowplaying/view/suggestions/i; a
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
instance-of v0, p2, Lcom/aspiro/wamp/nowplaying/view/suggestions/y$a; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/y$a;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
|
||||||
|
move-result p2
|
||||||
|
|
||||||
|
if-gez p2, :has_position
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, La50/b; # MARKER: R8 La50/b;
|
||||||
|
|
||||||
|
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-lt p2, v0, :read_item
|
||||||
|
|
||||||
|
goto :invalid
|
||||||
|
|
||||||
|
:read_item
|
||||||
|
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p1, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
new-instance v2, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
invoke-direct {v2, p2, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
|
||||||
|
invoke-direct {p0, v2}, Lradiant/gestures/queue/SuggestionsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
if-eqz v3, :invalid
|
||||||
|
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,701 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/SwipeToQueue;
|
||||||
|
.super Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;
|
||||||
|
.source "SwipeToQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field private static final installed:Ljava/util/WeakHashMap;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final addBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
.field private final addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field private final addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
.field private final addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field private final playNextBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
.field private final playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field private pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
.field private releaseAllowed:Z
|
||||||
|
|
||||||
|
.field private final resolver:Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method static constructor <clinit>()V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
new-instance v0, Ljava/util/WeakHashMap;
|
||||||
|
|
||||||
|
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
|
||||||
|
|
||||||
|
sput-object v0, Lradiant/gestures/queue/SwipeToQueue;->installed:Ljava/util/WeakHashMap;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private constructor <init>(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
const/16 v2, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
if-eqz v2, :check_right
|
||||||
|
|
||||||
|
or-int/lit8 v1, v1, 0x4
|
||||||
|
|
||||||
|
:check_right
|
||||||
|
const/16 v2, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
if-eqz v2, :directions_ready
|
||||||
|
|
||||||
|
or-int/lit8 v1, v1, 0x8
|
||||||
|
|
||||||
|
:directions_ready
|
||||||
|
|
||||||
|
invoke-direct {p0, v0, v1}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;-><init>(II)V
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
const v2, __RL_SWIPE_TO_QUEUE_ADD_COLOR__
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->addBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
const v2, __RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR__
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
const v2, __RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR__
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
|
||||||
|
|
||||||
|
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_queue_last:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :store_icon
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_icon
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_play_next:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :store_play_next_icon
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_play_next_icon
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_playlist:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :store_add_to_playlist_icon
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, -0x1
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
|
||||||
|
:store_add_to_playlist_icon
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
.locals 4
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
sget-object v0, Lradiant/gestures/queue/SwipeToQueue;->installed:Ljava/util/WeakHashMap;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0}, Ljava/util/WeakHashMap;->containsKey(Ljava/lang/Object;)Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-nez v1, :done
|
||||||
|
|
||||||
|
sget-object v1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0, v1}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/SwipeToQueue;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/SwipeToQueue;-><init>(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
|
||||||
|
new-instance v1, Landroidx/recyclerview/widget/ItemTouchHelper;
|
||||||
|
|
||||||
|
invoke-direct {v1, v0}, Landroidx/recyclerview/widget/ItemTouchHelper;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;)V
|
||||||
|
|
||||||
|
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static setReleaseAllowed(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;Z)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lradiant/gestures/queue/SwipeToQueue;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
check-cast p0, Lradiant/gestures/queue/SwipeToQueue;
|
||||||
|
|
||||||
|
iput-boolean p1, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public getAnimationDuration(Landroidx/recyclerview/widget/RecyclerView;IFF)J
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
const-wide/16 v0, 0x50
|
||||||
|
|
||||||
|
return-wide v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public getSwipeDirs(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
if-nez v0, :not_swipeable
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
invoke-interface {v0, p1, p2}, Lradiant/gestures/queue/QueueRowResolver;->resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
if-eqz v0, :not_swipeable
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
const/16 v1, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
if-eqz v1, :check_right
|
||||||
|
|
||||||
|
or-int/lit8 v0, v0, 0x4
|
||||||
|
|
||||||
|
:check_right
|
||||||
|
const/16 v1, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
if-eqz v1, :directions_ready
|
||||||
|
|
||||||
|
or-int/lit8 v0, v0, 0x8
|
||||||
|
|
||||||
|
:directions_ready
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
:not_swipeable
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
|
||||||
|
.locals 12
|
||||||
|
|
||||||
|
invoke-super/range {p0 .. p7}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;->onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
|
||||||
|
|
||||||
|
move/from16 v10, p6
|
||||||
|
|
||||||
|
move/from16 v11, p4
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v10, v0, :done
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
int-to-float v0, v0
|
||||||
|
|
||||||
|
cmpg-float v8, v11, v0
|
||||||
|
|
||||||
|
if-ltz v8, :left_action
|
||||||
|
|
||||||
|
cmpl-float v8, v11, v0
|
||||||
|
|
||||||
|
if-gtz v8, :right_action
|
||||||
|
|
||||||
|
goto :wrong_direction
|
||||||
|
|
||||||
|
:left_action
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
goto :action_ready
|
||||||
|
|
||||||
|
:right_action
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
:action_ready
|
||||||
|
if-eqz v8, :wrong_direction
|
||||||
|
|
||||||
|
goto :clear_active
|
||||||
|
|
||||||
|
:wrong_direction
|
||||||
|
|
||||||
|
if-eqz p7, :done
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:clear_active
|
||||||
|
|
||||||
|
iget-object v0, p3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getTop()I
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
const/4 v8, 0x0
|
||||||
|
|
||||||
|
int-to-float v8, v8
|
||||||
|
|
||||||
|
cmpg-float v8, v11, v8
|
||||||
|
|
||||||
|
if-gez v8, :right_bounds
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getRight()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
float-to-int v2, v11
|
||||||
|
|
||||||
|
add-int/2addr v2, v1
|
||||||
|
|
||||||
|
goto :bounds_ready
|
||||||
|
|
||||||
|
:right_bounds
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
float-to-int v1, v11
|
||||||
|
|
||||||
|
add-int/2addr v1, v2
|
||||||
|
|
||||||
|
:bounds_ready
|
||||||
|
|
||||||
|
sub-int v5, v1, v2
|
||||||
|
|
||||||
|
if-lez v5, :done
|
||||||
|
|
||||||
|
const/4 v8, 0x0
|
||||||
|
|
||||||
|
int-to-float v8, v8
|
||||||
|
|
||||||
|
cmpg-float v8, v11, v8
|
||||||
|
|
||||||
|
if-ltz v8, :draw_left_background
|
||||||
|
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
goto :background_action_ready
|
||||||
|
|
||||||
|
:draw_left_background
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
:background_action_ready
|
||||||
|
const/4 v9, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v9, :add_background
|
||||||
|
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
goto :background_ready
|
||||||
|
|
||||||
|
:add_background
|
||||||
|
const/4 v9, 0x3
|
||||||
|
|
||||||
|
if-ne v8, v9, :add_to_queue_background
|
||||||
|
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
goto :background_ready
|
||||||
|
|
||||||
|
:add_to_queue_background
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addBackground:Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
:background_ready
|
||||||
|
|
||||||
|
invoke-virtual {v6, v2, v3, v1, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
if-eqz p7, :draw_alpha
|
||||||
|
|
||||||
|
# row width * 3
|
||||||
|
mul-int/lit8 v8, v7, 0x3
|
||||||
|
|
||||||
|
# / 10 = 30% of row width (30% threshold)
|
||||||
|
div-int/lit8 v8, v8, 0xa
|
||||||
|
|
||||||
|
if-lez v8, :disarm
|
||||||
|
|
||||||
|
if-lt v5, v8, :disarm
|
||||||
|
|
||||||
|
iget-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
iget-object v10, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
if-nez v10, :draw_alpha
|
||||||
|
|
||||||
|
invoke-interface {v8, p2, p3}, Lradiant/gestures/queue/QueueRowResolver;->resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
move-result-object v10
|
||||||
|
|
||||||
|
if-eqz v10, :draw_alpha
|
||||||
|
|
||||||
|
const/4 v9, 0x0
|
||||||
|
|
||||||
|
int-to-float v9, v9
|
||||||
|
|
||||||
|
cmpg-float v9, v11, v9
|
||||||
|
|
||||||
|
if-ltz v9, :stamp_left_action
|
||||||
|
|
||||||
|
const/16 v9, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
goto :stamp_action
|
||||||
|
|
||||||
|
:stamp_left_action
|
||||||
|
const/16 v9, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
:stamp_action
|
||||||
|
iput v9, v10, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
iput-object v10, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
# HapticFeedbackConstants.CLOCK_TICK
|
||||||
|
const/4 v8, 0x4
|
||||||
|
|
||||||
|
invoke-virtual {v0, v8}, Landroid/view/View;->performHapticFeedback(I)Z
|
||||||
|
|
||||||
|
goto :draw_alpha
|
||||||
|
|
||||||
|
:disarm
|
||||||
|
iget-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
if-eqz v8, :clear_pending
|
||||||
|
|
||||||
|
# HapticFeedbackConstants.CLOCK_TICK
|
||||||
|
const/4 v8, 0x4
|
||||||
|
|
||||||
|
invoke-virtual {v0, v8}, Landroid/view/View;->performHapticFeedback(I)Z
|
||||||
|
|
||||||
|
:clear_pending
|
||||||
|
const/4 v8, 0x0
|
||||||
|
|
||||||
|
iput-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
goto :draw_alpha
|
||||||
|
|
||||||
|
:draw_alpha
|
||||||
|
if-lez v7, :draw_background
|
||||||
|
|
||||||
|
mul-int/lit8 v8, v7, 0x3
|
||||||
|
|
||||||
|
div-int/lit8 v8, v8, 0xa
|
||||||
|
|
||||||
|
if-lez v8, :draw_background
|
||||||
|
|
||||||
|
const/16 v9, 0x40
|
||||||
|
|
||||||
|
mul-int/2addr v9, v5
|
||||||
|
|
||||||
|
div-int/2addr v9, v8
|
||||||
|
|
||||||
|
const/16 v8, 0x40
|
||||||
|
|
||||||
|
invoke-static {v9, v8}, Ljava/lang/Math;->min(II)I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
add-int/lit16 v8, v8, 0xbf
|
||||||
|
|
||||||
|
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||||
|
|
||||||
|
:draw_background
|
||||||
|
invoke-virtual {v6, p1}, Landroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V
|
||||||
|
|
||||||
|
const/4 v8, 0x0
|
||||||
|
|
||||||
|
int-to-float v8, v8
|
||||||
|
|
||||||
|
cmpg-float v8, v11, v8
|
||||||
|
|
||||||
|
if-ltz v8, :draw_left_icon
|
||||||
|
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
|
||||||
|
|
||||||
|
goto :icon_action_ready
|
||||||
|
|
||||||
|
:draw_left_icon
|
||||||
|
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
|
||||||
|
|
||||||
|
:icon_action_ready
|
||||||
|
const/4 v9, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v9, :draw_add_icon
|
||||||
|
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
goto :icon_ready
|
||||||
|
|
||||||
|
:draw_add_icon
|
||||||
|
const/4 v9, 0x3
|
||||||
|
|
||||||
|
if-ne v8, v9, :draw_add_to_queue_icon
|
||||||
|
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
goto :icon_ready
|
||||||
|
|
||||||
|
:draw_add_to_queue_icon
|
||||||
|
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addIcon:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
:icon_ready
|
||||||
|
|
||||||
|
if-eqz v6, :done
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
|
||||||
|
|
||||||
|
move-result v8
|
||||||
|
|
||||||
|
if-lez v7, :done
|
||||||
|
|
||||||
|
if-lez v8, :done
|
||||||
|
|
||||||
|
# center icon until fixed inset
|
||||||
|
sub-int v9, v4, v3
|
||||||
|
|
||||||
|
sub-int/2addr v9, v8
|
||||||
|
|
||||||
|
div-int/lit8 v9, v9, 0x2
|
||||||
|
|
||||||
|
const/4 v10, 0x0
|
||||||
|
|
||||||
|
int-to-float v10, v10
|
||||||
|
|
||||||
|
cmpg-float v10, v11, v10
|
||||||
|
|
||||||
|
if-gez v10, :right_icon
|
||||||
|
|
||||||
|
sub-int v10, v1, v9
|
||||||
|
|
||||||
|
sub-int v11, v10, v7
|
||||||
|
|
||||||
|
add-int v10, v5, v7
|
||||||
|
|
||||||
|
div-int/lit8 v10, v10, 0x2
|
||||||
|
|
||||||
|
sub-int v10, v1, v10
|
||||||
|
|
||||||
|
invoke-static {v10, v11}, Ljava/lang/Math;->max(II)I
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
goto :icon_positioned
|
||||||
|
|
||||||
|
:right_icon
|
||||||
|
add-int v10, v2, v9
|
||||||
|
|
||||||
|
sub-int v11, v5, v7
|
||||||
|
|
||||||
|
div-int/lit8 v11, v11, 0x2
|
||||||
|
|
||||||
|
add-int/2addr v11, v2
|
||||||
|
|
||||||
|
invoke-static {v11, v10}, Ljava/lang/Math;->min(II)I
|
||||||
|
|
||||||
|
move-result v10
|
||||||
|
|
||||||
|
:icon_positioned
|
||||||
|
|
||||||
|
add-int v11, v10, v7
|
||||||
|
|
||||||
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
||||||
|
|
||||||
|
move-result v7
|
||||||
|
|
||||||
|
invoke-virtual {p1, v2, v3, v1, v4}, Landroid/graphics/Canvas;->clipRect(IIII)Z
|
||||||
|
|
||||||
|
add-int v2, v3, v9
|
||||||
|
|
||||||
|
add-int v5, v2, v8
|
||||||
|
|
||||||
|
invoke-virtual {v6, v10, v2, v11, v5}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
|
||||||
|
|
||||||
|
const/16 v8, 0xff
|
||||||
|
|
||||||
|
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||||
|
|
||||||
|
invoke-virtual {v6, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
|
||||||
|
|
||||||
|
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onMove(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
const/4 p1, 0x0
|
||||||
|
|
||||||
|
return p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public getSwipeEscapeVelocity(F)F
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
# Float.MAX_VALUE
|
||||||
|
const v0, 0x7f7fffff
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public getSwipeThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
# 2.0f
|
||||||
|
const/high16 v0, 0x40000000
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onSelectedChanged(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p2, v0, :release
|
||||||
|
|
||||||
|
if-eqz p1, :dispatch
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
goto :dispatch
|
||||||
|
|
||||||
|
:release
|
||||||
|
if-nez p2, :dispatch
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
iput-boolean v2, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
iput-object v2, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
|
||||||
|
|
||||||
|
if-eqz v0, :dispatch
|
||||||
|
|
||||||
|
if-eqz v1, :dispatch
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
invoke-interface {v0, v1}, Lradiant/gestures/queue/QueueRowResolver;->execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
|
||||||
|
:dispatch
|
||||||
|
invoke-super {p0, p1, p2}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;->onSelectedChanged(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onSwiped(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
# fallback
|
||||||
|
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
||||||
|
|
||||||
|
const/4 p2, 0x0
|
||||||
|
|
||||||
|
int-to-float v0, p2
|
||||||
|
|
||||||
|
invoke-virtual {p1, v0}, Landroid/view/View;->setTranslationX(F)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,489 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/UnifiedSearchResolver;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "UnifiedSearchResolver.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/QueueRowResolver;
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
.field private final recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method private constructor <init>(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
.locals 7
|
||||||
|
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v1
|
||||||
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
move-result-object v1
|
||||||
|
instance-of v2, v1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
check-cast v1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
if-gez v2, :check_size
|
||||||
|
goto :invalid
|
||||||
|
:check_size
|
||||||
|
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||||
|
move-result v3
|
||||||
|
if-lt v2, v3, :read_item
|
||||||
|
goto :invalid
|
||||||
|
:read_item
|
||||||
|
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v0, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
if-eqz v2, :album
|
||||||
|
instance-of v2, v1, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
move-object v2, v0
|
||||||
|
check-cast v2, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
move-object v3, v1
|
||||||
|
check-cast v3, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
iget-object v4, v3, Lbm/k;->e:Lcom/aspiro/wamp/model/Availability$MediaItem; # MARKER: R8 Lbm/k; e
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
move-result v4
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
iget-object v2, v2, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
|
||||||
|
iget-object v3, v3, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v2
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v3
|
||||||
|
if-ne v2, v3, :invalid
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
if-ne v3, v4, :invalid
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:album
|
||||||
|
instance-of v2, v0, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
if-eqz v2, :playlist
|
||||||
|
instance-of v2, v1, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
move-object v2, v0
|
||||||
|
check-cast v2, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
move-object v3, v1
|
||||||
|
check-cast v3, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
iget-object v4, v3, Lbm/a;->c:Lcom/aspiro/wamp/model/Availability$Album; # MARKER: R8 Lbm/a; c
|
||||||
|
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Album;->isAvailable()Z
|
||||||
|
move-result v4
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
iget-object v2, v2, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
|
||||||
|
iget-object v3, v3, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
move-result v2
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
move-result v3
|
||||||
|
if-ne v2, v3, :invalid
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
if-ne v3, v4, :invalid
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v2, v0, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
if-eqz v2, :mix
|
||||||
|
instance-of v2, v1, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
move-object v2, v0
|
||||||
|
check-cast v2, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
move-object v3, v1
|
||||||
|
check-cast v3, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
iget-object v2, v2, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
|
||||||
|
iget-object v3, v3, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
|
||||||
|
move-result v4
|
||||||
|
if-lez v4, :invalid
|
||||||
|
const-string v4, "NOT_READY"
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getStatus()Ljava/lang/String;
|
||||||
|
move-result-object v5
|
||||||
|
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
move-result v4
|
||||||
|
if-nez v4, :invalid
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
move-result-object v2
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
move-result-object v3
|
||||||
|
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
move-result v2
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
|
||||||
|
move-result v2
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
if-ne v2, v4, :invalid
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v2
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
|
||||||
|
move-result-object v2
|
||||||
|
instance-of v4, v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
|
||||||
|
iget-object v2, v2, Lcom/aspiro/wamp/search/v2/d;->e:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d; e
|
||||||
|
invoke-static {v3}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
|
||||||
|
move-result-object v3
|
||||||
|
invoke-interface {v2, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getPlaylistAvailability(Ljava/util/UUID;)Lcom/aspiro/wamp/model/Availability$Playlist;
|
||||||
|
move-result-object v2
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Availability$Playlist;->isAvailable()Z
|
||||||
|
move-result v2
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v2, v0, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
instance-of v2, v1, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
move-object v2, v0
|
||||||
|
check-cast v2, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
move-object v3, v1
|
||||||
|
check-cast v3, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
iget-object v2, v2, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
|
||||||
|
iget-object v3, v3, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
move-result-object v2
|
||||||
|
invoke-virtual {v3}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
move-result-object v3
|
||||||
|
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
move-result v2
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
|
||||||
|
move-result v2
|
||||||
|
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
|
||||||
|
if-ne v2, v4, :invalid
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v2
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
|
||||||
|
move-result-object v2
|
||||||
|
instance-of v4, v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
|
||||||
|
if-eqz v4, :invalid
|
||||||
|
check-cast v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
|
||||||
|
iget-object v2, v2, Lcom/aspiro/wamp/search/v2/d;->e:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d; e
|
||||||
|
invoke-interface {v2, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getMixAvailability(Ljava/lang/String;)Lcom/aspiro/wamp/model/Availability$Mix;
|
||||||
|
move-result-object v2
|
||||||
|
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Availability$Mix;->isAvailable()Z
|
||||||
|
move-result v2
|
||||||
|
if-eqz v2, :invalid
|
||||||
|
return-object v1
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static install(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
.locals 1
|
||||||
|
if-eqz p0, :done
|
||||||
|
if-eqz p1, :done
|
||||||
|
new-instance v0, Lradiant/gestures/queue/UnifiedSearchResolver;
|
||||||
|
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/UnifiedSearchResolver;-><init>(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
|
||||||
|
.locals 9
|
||||||
|
|
||||||
|
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
|
||||||
|
|
||||||
|
invoke-direct {p0, p1}, Lradiant/gestures/queue/UnifiedSearchResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
move-result-object v0
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v1
|
||||||
|
check-cast v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
|
||||||
|
if-eqz v1, :done
|
||||||
|
iget-object v2, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->c:Ltl/q; # MARKER: R8 Ltl/q; c
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-static {v0}, Lbm/i;->a(Lbm/h;)Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lbm/i; Lbm/h; a
|
||||||
|
move-result-object v3
|
||||||
|
iget-object v4, v2, Ltl/q;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Ltl/q; c
|
||||||
|
|
||||||
|
instance-of v5, v0, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
if-eqz v5, :album
|
||||||
|
move-object v5, v0
|
||||||
|
check-cast v5, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
iget-object v6, v5, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
|
||||||
|
const/4 v7, 0x3
|
||||||
|
if-eq v8, v7, :append_track
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
move-result v7
|
||||||
|
if-nez v7, :append_track
|
||||||
|
new-instance v2, Lcom/aspiro/wamp/search/v2/a$g; # MARKER: R8 Lcom/aspiro/wamp/search/v2/a$g;
|
||||||
|
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
|
||||||
|
invoke-direct {v2, v0, v3}, Lcom/aspiro/wamp/search/v2/a$g;-><init>(Lbm/h;I)V # MARKER: R8 Lcom/aspiro/wamp/search/v2/a$g; Lbm/h;
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
|
||||||
|
move-result-object v0
|
||||||
|
invoke-interface {v0, v2}, Ltl/f;->e(Lcom/aspiro/wamp/search/v2/a;)V # MARKER: R8 Ltl/f; Lcom/aspiro/wamp/search/v2/a; e
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_track
|
||||||
|
const-string v7, ""
|
||||||
|
iget-object p1, v5, Lbm/k;->n:Lcom/aspiro/wamp/search/SearchDataSource; # MARKER: R8 Lbm/k; n
|
||||||
|
sget-object v0, Lcom/aspiro/wamp/search/SearchDataSource;->REMOTE:Lcom/aspiro/wamp/search/SearchDataSource;
|
||||||
|
if-ne p1, v0, :query_ready
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
|
||||||
|
move-result-object p1
|
||||||
|
invoke-interface {p1}, Ltl/h;->c()Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery; # MARKER: R8 Ltl/h; c
|
||||||
|
move-result-object p1
|
||||||
|
iget-object v7, p1, Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
|
||||||
|
:query_ready
|
||||||
|
invoke-virtual {v6}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result p1
|
||||||
|
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
|
||||||
|
move-result-object p1
|
||||||
|
const/4 v0, 0x0
|
||||||
|
if-eqz v4, :nav_ready
|
||||||
|
invoke-static {v4}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
move-result-object v0
|
||||||
|
:nav_ready
|
||||||
|
invoke-static {p1, v7, v0}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
|
||||||
|
move-result-object p1
|
||||||
|
invoke-virtual {p1, v6}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
move-result-object v0
|
||||||
|
const/4 v2, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v2, :add_to_playlist_track
|
||||||
|
|
||||||
|
const/4 v2, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v2, :queue_append_track
|
||||||
|
|
||||||
|
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:queue_append_track
|
||||||
|
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist_track
|
||||||
|
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:album
|
||||||
|
instance-of v5, v0, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
if-eqz v5, :playlist
|
||||||
|
iget-object v5, v2, Ltl/q;->a:Lx40/a; # MARKER: R8 Ltl/q; Lx40/a; a
|
||||||
|
instance-of v6, v5, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
if-eqz v6, :done
|
||||||
|
check-cast v5, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
check-cast v0, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
iget-object v6, v0, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
move-result-object v7
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v0, :add_to_playlist_album
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v0, :append_album
|
||||||
|
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_album
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
move-result-object v0
|
||||||
|
if-eqz v0, :done
|
||||||
|
iget-object v1, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
|
||||||
|
invoke-virtual {v1, v0}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist_album
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v5, v0, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
if-eqz v5, :mix
|
||||||
|
check-cast v0, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
iget-object v5, v0, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
move-result-object v6
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v0, :add_to_playlist_playlist
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v0, :append_playlist
|
||||||
|
|
||||||
|
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_playlist
|
||||||
|
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist_playlist
|
||||||
|
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v5, v0, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
if-eqz v5, :done
|
||||||
|
iget-object v5, v2, Ltl/q;->a:Lx40/a; # MARKER: R8 Ltl/q; Lx40/a; a
|
||||||
|
instance-of v6, v5, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
if-eqz v6, :done
|
||||||
|
check-cast v5, Lh4/a; # MARKER: R8 Lh4/a;
|
||||||
|
check-cast v0, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
iget-object v6, v0, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
|
||||||
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
|
||||||
|
move-result-object v7
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-eq v8, v0, :add_to_playlist_mix
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne v8, v0, :append_mix
|
||||||
|
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append_mix
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lh4/a;
|
||||||
|
move-result-object v0
|
||||||
|
if-eqz v0, :done
|
||||||
|
iget-object v1, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
|
||||||
|
invoke-virtual {v1, v0}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:add_to_playlist_mix
|
||||||
|
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->recycler:Ljava/lang/ref/WeakReference;
|
||||||
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
move-result-object v0
|
||||||
|
if-ne v0, p1, :invalid
|
||||||
|
|
||||||
|
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
|
||||||
|
move-result v0
|
||||||
|
const/4 v1, -0x1
|
||||||
|
if-ne v0, v1, :has_position
|
||||||
|
goto :invalid
|
||||||
|
:has_position
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
||||||
|
move-result-object p1
|
||||||
|
instance-of v1, p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
check-cast p1, La50/d; # MARKER: R8 La50/d;
|
||||||
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
|
||||||
|
move-result-object p1
|
||||||
|
invoke-interface {p1}, Ljava/util/List;->size()I
|
||||||
|
move-result v1
|
||||||
|
if-lt v0, v1, :read_item
|
||||||
|
goto :invalid
|
||||||
|
:read_item
|
||||||
|
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
instance-of v1, p2, Lul/n0$a; # MARKER: R8 Lul/n0$a;
|
||||||
|
if-eqz v1, :album_holder
|
||||||
|
instance-of v1, p1, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
move-object v1, p1
|
||||||
|
check-cast v1, Lbm/k; # MARKER: R8 Lbm/k;
|
||||||
|
iget-object v1, v1, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
move-result v1
|
||||||
|
goto :create
|
||||||
|
|
||||||
|
:album_holder
|
||||||
|
instance-of v1, p2, Lul/d$a; # MARKER: R8 Lul/d$a;
|
||||||
|
if-eqz v1, :playlist_holder
|
||||||
|
instance-of v1, p1, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
move-object v1, p1
|
||||||
|
check-cast v1, Lbm/a; # MARKER: R8 Lbm/a;
|
||||||
|
iget-object v1, v1, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
|
||||||
|
move-result v1
|
||||||
|
goto :create
|
||||||
|
|
||||||
|
:playlist_holder
|
||||||
|
instance-of v1, p2, Lul/a0$a; # MARKER: R8 Lul/a0$a;
|
||||||
|
if-eqz v1, :mix_holder
|
||||||
|
instance-of v1, p1, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
if-eqz v1, :invalid
|
||||||
|
move-object v1, p1
|
||||||
|
check-cast v1, Lbm/g; # MARKER: R8 Lbm/g;
|
||||||
|
iget-object v1, v1, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
|
||||||
|
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
|
||||||
|
move-result-object v1
|
||||||
|
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
|
||||||
|
move-result v1
|
||||||
|
goto :create
|
||||||
|
|
||||||
|
:mix_holder
|
||||||
|
instance-of p2, p2, Lul/w$a; # MARKER: R8 Lul/w$a;
|
||||||
|
if-eqz p2, :invalid
|
||||||
|
instance-of p2, p1, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
if-eqz p2, :invalid
|
||||||
|
move-object p2, p1
|
||||||
|
check-cast p2, Lbm/f; # MARKER: R8 Lbm/f;
|
||||||
|
iget-object p2, p2, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
|
||||||
|
invoke-virtual {p2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
|
||||||
|
move-result-object p2
|
||||||
|
invoke-virtual {p2}, Ljava/lang/String;->hashCode()I
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
:create
|
||||||
|
new-instance v2, Lradiant/gestures/queue/QueueRequest;
|
||||||
|
invoke-direct {v2, v0, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
|
||||||
|
invoke-direct {p0, v2}, Lradiant/gestures/queue/UnifiedSearchResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
|
||||||
|
move-result-object p1
|
||||||
|
if-eqz p1, :invalid
|
||||||
|
return-object v2
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p1, 0x0
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,328 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/VerticalMediaQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "VerticalMediaQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field public static final TYPE_ALBUM:I = 0x1
|
||||||
|
|
||||||
|
.field public static final TYPE_MIX:I = 0x2
|
||||||
|
|
||||||
|
.field public static final TYPE_PLAYLIST:I = 0x3
|
||||||
|
|
||||||
|
.field public static final TYPE_TRACK:I = 0x4
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final mediaType:I
|
||||||
|
|
||||||
|
.field private final moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
.field private final pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V # MARKER: R8 Lam0/l; Lm40/e;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iput-object p2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput-object p3, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
instance-of v0, p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$a;->a:J # MARKER: R8 Lm40/e$a; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, 0x1
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$c; a
|
||||||
|
|
||||||
|
const/4 v1, 0x2
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
if-eqz v0, :track
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:track
|
||||||
|
instance-of v0, p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
if-eqz v0, :unsupported
|
||||||
|
|
||||||
|
check-cast p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/4 v1, 0x4
|
||||||
|
|
||||||
|
goto :store
|
||||||
|
|
||||||
|
:unsupported
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
:store
|
||||||
|
iput-object v0, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iput v1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static isEligible(Lm40/e;)Z # MARKER: R8 Lm40/e;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
if-eqz v0, :mix
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$a;->e:Z # MARKER: R8 Lm40/e$a; e
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:mix
|
||||||
|
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
if-eqz v0, :playlist
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$c;->h:Z # MARKER: R8 Lm40/e$c; h
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:playlist
|
||||||
|
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
if-eqz v0, :track
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$d;->g:Z # MARKER: R8 Lm40/e$d; g
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:track
|
||||||
|
instance-of v0, p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
check-cast p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
iget-boolean p0, p0, Lm40/e$e;->j:Z # MARKER: R8 Lm40/e$e; j
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static isSupported(Lm40/e;)Z # MARKER: R8 Lm40/e;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
|
||||||
|
|
||||||
|
if-nez v0, :supported
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
|
||||||
|
|
||||||
|
if-nez v0, :supported
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
|
||||||
|
|
||||||
|
if-nez v0, :supported
|
||||||
|
|
||||||
|
instance-of v0, p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
:supported
|
||||||
|
const/4 p0, 0x1
|
||||||
|
|
||||||
|
return p0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 p0, 0x0
|
||||||
|
|
||||||
|
return p0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
iget-object v7, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
if-eqz v7, :done
|
||||||
|
|
||||||
|
iget-object v4, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v4, :done
|
||||||
|
|
||||||
|
iget v5, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
if-eqz v5, :done
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v1, :queue_event
|
||||||
|
|
||||||
|
const/4 v1, 0x4
|
||||||
|
|
||||||
|
if-ne v5, v1, :queue_event
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-nez v1, :queue_event
|
||||||
|
|
||||||
|
new-instance v1, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-direct {v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:queue_event
|
||||||
|
|
||||||
|
iget-object v1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v1, :done
|
||||||
|
|
||||||
|
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
|
||||||
|
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
move v6, p1
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
|
||||||
|
|
||||||
|
move-object v1, v0
|
||||||
|
|
||||||
|
:emit
|
||||||
|
invoke-interface {v7, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/VerticalMediaQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public stableKey()Ljava/lang/String;
|
||||||
|
.locals 3
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v0, :invalid
|
||||||
|
|
||||||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const-string v2, "vlc:"
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
iget-object v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v2, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
iget v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->mediaType:I
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v2, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
|
||||||
|
:invalid
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,248 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ViewAllTrackQueue;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ViewAllTrackQueue.smali"
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field private static context:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public static handle(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Landroid/content/Context;JI)V
|
||||||
|
.locals 10
|
||||||
|
|
||||||
|
if-eqz p0, :done
|
||||||
|
|
||||||
|
if-eqz p1, :done
|
||||||
|
|
||||||
|
const-wide/16 v0, 0x0
|
||||||
|
|
||||||
|
cmp-long v2, p2, v0
|
||||||
|
|
||||||
|
if-lez v2, :done
|
||||||
|
|
||||||
|
iget-object v0, p0, Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;->n:Lcom/tidal/android/feature/viewall/ui/c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/c; n
|
||||||
|
|
||||||
|
iget-object v0, v0, Lcom/tidal/android/feature/viewall/ui/c;->f:Ljava/util/ArrayList; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/c; f
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
:find_track
|
||||||
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v1
|
||||||
|
|
||||||
|
instance-of v2, v1, Lpd0/a; # MARKER: R8 Lpd0/a;
|
||||||
|
|
||||||
|
if-eqz v2, :find_track
|
||||||
|
|
||||||
|
check-cast v1, Lpd0/a; # MARKER: R8 Lpd0/a;
|
||||||
|
|
||||||
|
iget-object v1, v1, Lpd0/a;->a:Lh40/n; # MARKER: R8 Lpd0/a; Lh40/n; a
|
||||||
|
|
||||||
|
instance-of v2, v1, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
if-eqz v2, :find_track
|
||||||
|
|
||||||
|
check-cast v1, Lh40/p; # MARKER: R8 Lh40/p;
|
||||||
|
|
||||||
|
iget-wide v3, v1, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
|
||||||
|
|
||||||
|
cmp-long v2, v3, p2
|
||||||
|
|
||||||
|
if-nez v2, :find_track
|
||||||
|
|
||||||
|
iget-object v0, p0, Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;->f:Lcom/tidal/android/feature/viewall/ui/u; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/u; f
|
||||||
|
|
||||||
|
instance-of v2, v0, Lra/d; # MARKER: R8 Lra/d;
|
||||||
|
|
||||||
|
if-eqz v2, :done
|
||||||
|
|
||||||
|
check-cast v0, Lra/d; # MARKER: R8 Lra/d;
|
||||||
|
|
||||||
|
iget-object v2, v0, Lra/d;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lra/d; b
|
||||||
|
|
||||||
|
invoke-static {v1}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
const-string v5, "null"
|
||||||
|
|
||||||
|
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
|
||||||
|
invoke-direct {v4, v5, v5}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
||||||
|
const/4 v6, 0x0
|
||||||
|
|
||||||
|
if-eqz v2, :navigation_ready
|
||||||
|
|
||||||
|
invoke-static {v2}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
|
||||||
|
|
||||||
|
move-result-object v6
|
||||||
|
|
||||||
|
:navigation_ready
|
||||||
|
sget-object v7, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;->INSTANCE:Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;
|
||||||
|
|
||||||
|
const/4 v8, 0x0
|
||||||
|
|
||||||
|
invoke-static {v5, v8, v6, v7}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
|
||||||
|
|
||||||
|
move-result-object v9
|
||||||
|
|
||||||
|
invoke-virtual {v9, v3}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-ne p4, v0, :check_add_to_playlist
|
||||||
|
|
||||||
|
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:check_add_to_playlist
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
if-ne p4, v0, :append
|
||||||
|
|
||||||
|
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
|
||||||
|
goto :done
|
||||||
|
|
||||||
|
:append
|
||||||
|
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
|
||||||
|
:done
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static handleEvent(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Lcom/tidal/android/feature/viewall/ui/e;)Z # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e;
|
||||||
|
.locals 6
|
||||||
|
|
||||||
|
instance-of v0, p1, Lcom/tidal/android/feature/viewall/ui/e$c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c;
|
||||||
|
|
||||||
|
if-eqz v0, :not_handled
|
||||||
|
|
||||||
|
check-cast p1, Lcom/tidal/android/feature/viewall/ui/e$c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c;
|
||||||
|
|
||||||
|
iget-object v0, p1, Lcom/tidal/android/feature/viewall/ui/e$c;->a:Ljava/lang/Object; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c; a
|
||||||
|
|
||||||
|
instance-of v1, v0, Ljava/lang/String;
|
||||||
|
|
||||||
|
if-eqz v1, :not_handled
|
||||||
|
|
||||||
|
check-cast v0, Ljava/lang/String;
|
||||||
|
|
||||||
|
const-string v1, "rl-swipe:"
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
if-eqz v2, :not_handled
|
||||||
|
|
||||||
|
const/16 v1, 0x9
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
const/16 v1, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
if-lez v1, :not_handled
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
|
||||||
|
|
||||||
|
move-result v4
|
||||||
|
|
||||||
|
add-int/lit8 v1, v1, 0x1
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
|
||||||
|
|
||||||
|
move-result-wide v1
|
||||||
|
|
||||||
|
sget-object v3, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
sput-object v5, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
if-eqz v3, :handled
|
||||||
|
|
||||||
|
invoke-virtual {v3}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
check-cast v3, Landroid/content/Context;
|
||||||
|
|
||||||
|
invoke-static {p0, v3, v1, v2, v4}, Lradiant/gestures/queue/ViewAllTrackQueue;->handle(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Landroid/content/Context;JI)V
|
||||||
|
|
||||||
|
:handled
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
:not_handled
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static marker(JI)Ljava/lang/String;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const-string v1, "rl-swipe:"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
const/16 v1, 0x3a
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p0, p1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static setContext(Landroid/content/Context;)V
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
new-instance v0, Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
sput-object v0, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
.class public final Lradiant/gestures/queue/ViewAllTrackQueueAction;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ViewAllTrackQueueAction.smali"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Lradiant/gestures/queue/ComposeSwipeAction;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
.field private context:Landroid/content/Context;
|
||||||
|
|
||||||
|
.field private final trackId:J
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Lam0/l;Lm40/e$e;)V # MARKER: R8 Lam0/l; Lm40/e$e;
|
||||||
|
.locals 2
|
||||||
|
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
iget-wide v0, p2, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
|
||||||
|
|
||||||
|
iput-wide v0, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->trackId:J
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public invoke(I)Ljava/lang/Object;
|
||||||
|
.locals 5
|
||||||
|
|
||||||
|
iget-object v0, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
if-eqz v0, :done
|
||||||
|
|
||||||
|
iget-wide v1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->trackId:J
|
||||||
|
|
||||||
|
const/4 v3, 0x3
|
||||||
|
|
||||||
|
if-eq p1, v3, :queue_event
|
||||||
|
|
||||||
|
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
|
||||||
|
move-result v3
|
||||||
|
|
||||||
|
if-eqz v3, :play_existing
|
||||||
|
|
||||||
|
:queue_event
|
||||||
|
iget-object v3, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
if-eqz v3, :done
|
||||||
|
|
||||||
|
invoke-static {v3}, Lradiant/gestures/queue/ViewAllTrackQueue;->setContext(Landroid/content/Context;)V
|
||||||
|
|
||||||
|
invoke-static {v1, v2, p1}, Lradiant/gestures/queue/ViewAllTrackQueue;->marker(JI)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
new-instance v4, Li40/c$b; # MARKER: R8 Li40/c$b;
|
||||||
|
|
||||||
|
invoke-direct {v4, v3}, Li40/c$b;-><init>(Ljava/lang/Object;)V # MARKER: R8 Li40/c$b;
|
||||||
|
|
||||||
|
goto :emit
|
||||||
|
|
||||||
|
:play_existing
|
||||||
|
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
new-instance v4, Li40/c$b; # MARKER: R8 Li40/c$b;
|
||||||
|
|
||||||
|
invoke-direct {v4, v3}, Li40/c$b;-><init>(Ljava/lang/Object;)V # MARKER: R8 Li40/c$b;
|
||||||
|
|
||||||
|
:emit
|
||||||
|
invoke-interface {v0, v4}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
|
||||||
|
|
||||||
|
:done
|
||||||
|
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public invoke()Ljava/lang/Object;
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ViewAllTrackQueueAction;->invoke(I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setContext(Landroid/content/Context;)V
|
||||||
|
.locals 0
|
||||||
|
|
||||||
|
iput-object p1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->context:Landroid/content/Context;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
move-object v15, v10
|
move-object v15, v10
|
||||||
|
|
||||||
+ invoke-static {v15}, Lradiant/gestures/LyricsDrag;->wrap(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # lyrics own their scroll
|
+ invoke-static {v15}, Lradiant/gestures/lyrics/LyricsDrag;->wrap(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # lyrics own their scroll
|
||||||
+
|
+
|
||||||
+ move-result-object v15
|
+ move-result-object v15
|
||||||
+
|
+
|
||||||
+5
-5
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
move-result-object v6
|
move-result-object v6
|
||||||
|
|
||||||
+ invoke-static {v6, v1}, Lradiant/gestures/MiniPlayerTrackGestures;->trackModifier(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # attach horizontal swipe listener
|
+ invoke-static {v6, v1}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->trackModifier(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # attach horizontal swipe listener
|
||||||
+
|
+
|
||||||
+ move-result-object v6
|
+ move-result-object v6
|
||||||
+
|
+
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
.line 56
|
.line 56
|
||||||
iget-object v11, v0, Lcom/tidal/android/feature/appscaffold/ui/t;->b:Lcom/tidal/android/feature/appscaffold/ui/q;
|
iget-object v11, v0, Lcom/tidal/android/feature/appscaffold/ui/t;->b:Lcom/tidal/android/feature/appscaffold/ui/q;
|
||||||
|
|
||||||
+ invoke-static {v11}, Lradiant/gestures/MiniPlayerTrackGestures;->onRenderedItem(Ljava/lang/Object;)V # reset stale drag offset if track metadata changes mid-gesture
|
+ invoke-static {v11}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->onRenderedItem(Ljava/lang/Object;)V # reset stale drag offset if track metadata changes mid-gesture
|
||||||
+
|
+
|
||||||
.line 57
|
.line 57
|
||||||
invoke-virtual/range {v16 .. v16}, Lcom/squareup/ui/market/core/theme/MarketStylesheet;->getBorderRadii()Lcom/squareup/ui/market/core/theme/MarketStylesheet$b;
|
invoke-virtual/range {v16 .. v16}, Lcom/squareup/ui/market/core/theme/MarketStylesheet;->getBorderRadii()Lcom/squareup/ui/market/core/theme/MarketStylesheet$b;
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
move-result-object v6
|
move-result-object v6
|
||||||
|
|
||||||
+ invoke-static {v6}, Lradiant/gestures/MiniPlayerTrackGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move the whole cover container with horizontal swipe
|
+ invoke-static {v6}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move the whole cover container with horizontal swipe
|
||||||
+
|
+
|
||||||
+ move-result-object v6
|
+ move-result-object v6
|
||||||
+
|
+
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
move-result-object v5
|
move-result-object v5
|
||||||
|
|
||||||
+ invoke-static {v5}, Lradiant/gestures/MiniPlayerTrackGestures;->textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist
|
+ invoke-static {v5}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist
|
||||||
+
|
+
|
||||||
+ move-result-object v5
|
+ move-result-object v5
|
||||||
+
|
+
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
.method public final invoke()Ljava/lang/Object;
|
.method public final invoke()Ljava/lang/Object;
|
||||||
.locals 2
|
.locals 2
|
||||||
|
|
||||||
+ invoke-static {}, Lradiant/gestures/MiniPlayerTrackGestures;->consumeTapOpenSuppression()Z # skip open-player if a horizontal skip-swipe just happened
|
+ invoke-static {}, Lradiant/gestures/miniplayer/MiniPlayerTrackGestures;->consumeTapOpenSuppression()Z # skip open-player if a horizontal skip-swipe just happened
|
||||||
+
|
+
|
||||||
+ move-result v0
|
+ move-result v0
|
||||||
+
|
+
|
||||||
+5
-5
@@ -11,7 +11,7 @@
|
|||||||
+
|
+
|
||||||
+ const/16 v51, __RL_MINI_PLAYER_SWIPE_UP_DRAG__ # Enable Drag option
|
+ const/16 v51, __RL_MINI_PLAYER_SWIPE_UP_DRAG__ # Enable Drag option
|
||||||
+
|
+
|
||||||
+ invoke-static/range {v49 .. v51}, Lradiant/gestures/MiniPlayerGestures;->configure(Lam0/l;Landroidx/compose/material3/SheetState;Z)V # wire swipe-up to expand the sheet
|
+ invoke-static/range {v49 .. v51}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->configure(Lam0/l;Landroidx/compose/material3/SheetState;Z)V # wire swipe-up to expand the sheet
|
||||||
+
|
+
|
||||||
.line 69
|
.line 69
|
||||||
invoke-static {}, Landroidx/compose/ui/platform/CompositionLocalsKt;->getLocalDensity()Landroidx/compose/runtime/ProvidableCompositionLocal;
|
invoke-static {}, Landroidx/compose/ui/platform/CompositionLocalsKt;->getLocalDensity()Landroidx/compose/runtime/ProvidableCompositionLocal;
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
+ const/4 v5, 0x1
|
+ const/4 v5, 0x1
|
||||||
+
|
+
|
||||||
+ :rl_set_media
|
+ :rl_set_media
|
||||||
+ invoke-static {v5}, Lradiant/gestures/MiniPlayerGestures;->setHasMiniPlayerMedia(Z)V
|
+ invoke-static {v5}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setHasMiniPlayerMedia(Z)V
|
||||||
+
|
+
|
||||||
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
move-result-object v6
|
move-result-object v6
|
||||||
|
|
||||||
+ invoke-static {v6}, Lradiant/gestures/MiniPlayerGestures;->trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # attach swipe up listener
|
+ invoke-static {v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # attach swipe up listener
|
||||||
+
|
+
|
||||||
+ move-result-object v6
|
+ move-result-object v6
|
||||||
+
|
+
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
move-result-object v6
|
move-result-object v6
|
||||||
|
|
||||||
+ invoke-static {v6}, Lradiant/gestures/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move cover (swipe up feedback)
|
+ invoke-static {v6}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move cover (swipe up feedback)
|
||||||
+
|
+
|
||||||
+ move-result-object v6
|
+ move-result-object v6
|
||||||
+
|
+
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
move-result-object v5
|
move-result-object v5
|
||||||
|
|
||||||
+ invoke-static {v5}, Lradiant/gestures/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist (swipe up feedback)
|
+ invoke-static {v5}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist (swipe up feedback)
|
||||||
+
|
+
|
||||||
+ move-result-object v5
|
+ move-result-object v5
|
||||||
+
|
+
|
||||||
+2
-2
@@ -4,7 +4,7 @@
|
|||||||
.line 24
|
.line 24
|
||||||
iget-object p1, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->$sheetState:Landroidx/compose/material3/SheetState;
|
iget-object p1, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->$sheetState:Landroidx/compose/material3/SheetState;
|
||||||
|
|
||||||
+ invoke-static {p1}, Lradiant/gestures/MiniPlayerGestures;->suppressAutoShow(Landroidx/compose/material3/SheetState;)Z # avoid Material3 show() taking over manual drag
|
+ invoke-static {p1}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->suppressAutoShow(Landroidx/compose/material3/SheetState;)Z # avoid Material3 show() taking over manual drag
|
||||||
+
|
+
|
||||||
+ move-result v1
|
+ move-result v1
|
||||||
+
|
+
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
+
|
+
|
||||||
+ check-cast v14, Lam0/l; # to Function1
|
+ check-cast v14, Lam0/l; # to Function1
|
||||||
+
|
+
|
||||||
+ invoke-static {v13, v14}, Lradiant/gestures/MiniPlayerGestures;->setSettleCallback(Landroidx/compose/material3/SheetState;Lam0/l;)V # reuse native settle animation on release
|
+ invoke-static {v13, v14}, Lradiant/gestures/miniplayer/MiniPlayerGestures;->setSettleCallback(Landroidx/compose/material3/SheetState;Lam0/l;)V # reuse native settle animation on release
|
||||||
+
|
+
|
||||||
move-object/from16 v32, v12
|
move-object/from16 v32, v12
|
||||||
|
|
||||||
@@ -0,0 +1,480 @@
|
|||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/verticaltracklist/j.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/verticaltracklist/j.smali
|
||||||
|
@@ -1791,6 +1791,10 @@
|
||||||
|
.line 391
|
||||||
|
check-cast v34, Lam0/a;
|
||||||
|
|
||||||
|
+ invoke-static/range {v34 .. v34}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v34
|
||||||
|
+
|
||||||
|
.line 392
|
||||||
|
.line 393
|
||||||
|
const/16 v35, 0x6f
|
||||||
|
@@ -1832,6 +1836,22 @@
|
||||||
|
.line 412
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
+ iget-wide v14, v3, Lm40/e$e;->a:J
|
||||||
|
+
|
||||||
|
+ invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||||
|
+
|
||||||
|
+ move-result-object v14
|
||||||
|
+
|
||||||
|
+ new-instance v15, Lradiant/gestures/queue/DynamicTrackQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v15, v4, v1, v2, v3}, Lradiant/gestures/queue/DynamicTrackQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V
|
||||||
|
+
|
||||||
|
+ iget-boolean v5, v3, Lm40/e$e;->j:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, v14, v15, v5, v11}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
.line 413
|
||||||
|
const/4 v14, 0x0
|
||||||
|
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager$createModuleViewState$3.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager$createModuleViewState$3.smali
|
||||||
|
@@ -601,6 +601,17 @@
|
||||||
|
|
||||||
|
.line 248
|
||||||
|
:cond_c
|
||||||
|
+ instance-of p2, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz p2, :cond_d
|
||||||
|
+
|
||||||
|
+ check-cast p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, p1}, Lradiant/gestures/queue/DynamicTrackQueue;->handle(Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;Lradiant/gestures/queue/DynamicTrackQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ goto :goto_4
|
||||||
|
+
|
||||||
|
+ :cond_d
|
||||||
|
invoke-static {}, Landroidx/navigation/f0;->a()V
|
||||||
|
|
||||||
|
.line 249
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/compactgridcard/CompactGridCardModuleRowKt.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/compactgridcard/CompactGridCardModuleRowKt.smali
|
||||||
|
@@ -872,1 +872,26 @@
|
||||||
|
+ invoke-static {v10}, Lradiant/gestures/queue/CompactGridMediaQueueAction;->isEligible(Lm40/e;)Z
|
||||||
|
+
|
||||||
|
+ move-result v11
|
||||||
|
+
|
||||||
|
+ if-eqz v11, :rl_compact_grid_swipe_done
|
||||||
|
+
|
||||||
|
+ new-instance v11, Lradiant/gestures/queue/CompactGridMediaQueueAction;
|
||||||
|
+
|
||||||
|
+ move-object/from16 v12, p0
|
||||||
|
+
|
||||||
|
+ move-object/from16 v14, p1
|
||||||
|
+
|
||||||
|
+ invoke-direct {v11, v4, v12, v14, v10}, Lradiant/gestures/queue/CompactGridMediaQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v11}, Lradiant/gestures/queue/CompactGridMediaQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v12
|
||||||
|
+
|
||||||
|
+ const/4 v14, 0x1
|
||||||
|
+
|
||||||
|
+ invoke-static {v9, v12, v11, v14, v13}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v9
|
||||||
|
+
|
||||||
|
+ :rl_compact_grid_swipe_done
|
||||||
|
const v11, 0xe000
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/compactgridcard/d.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/compactgridcard/d.smali
|
||||||
|
@@ -38,1 +38,22 @@
|
||||||
|
+ instance-of v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :rl_compact_grid_native_click
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;->b:Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;
|
||||||
|
+
|
||||||
|
+ iget-object v1, v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;->f:Lam0/q;
|
||||||
|
+
|
||||||
|
+ iget-object v2, p0, Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;->c:Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ iget-object v3, v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;->a:Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ const/4 v4, 0x0
|
||||||
|
+
|
||||||
|
+ invoke-interface {v1, v2, v3, p1, v4}, Lam0/q;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
+
|
||||||
|
+ sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
||||||
|
+
|
||||||
|
+ return-object p1
|
||||||
|
+
|
||||||
|
+ :rl_compact_grid_native_click
|
||||||
|
.line 1
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/modules/compactgridcard/CompactGridCardModuleManager$createModuleViewState$2$2.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/modules/compactgridcard/CompactGridCardModuleManager$createModuleViewState$2$2.smali
|
||||||
|
@@ -72,1 +72,1 @@
|
||||||
|
- .locals 0
|
||||||
|
+ .locals 1
|
||||||
|
@@ -74,1 +74,18 @@
|
||||||
|
+ instance-of v0, p3, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :rl_compact_grid_native_event
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lkotlin/jvm/internal/AdaptedFunctionReference;->receiver:Ljava/lang/Object;
|
||||||
|
+
|
||||||
|
+ check-cast v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;
|
||||||
|
+
|
||||||
|
+ check-cast p3, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, p3}, Lradiant/gestures/queue/DynamicMediaQueue;->handleCompact(Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ sget-object p1, Lkotlin/u;->a:Lkotlin/u;
|
||||||
|
+
|
||||||
|
+ return-object p1
|
||||||
|
+
|
||||||
|
+ :rl_compact_grid_native_event
|
||||||
|
.line 1
|
||||||
|
--- a/com/tidal/android/feature/search/ui/SearchScreenViewModel.smali
|
||||||
|
+++ b/com/tidal/android/feature/search/ui/SearchScreenViewModel.smali
|
||||||
|
@@ -926,6 +926,17 @@
|
||||||
|
|
||||||
|
.line 4
|
||||||
|
.line 5
|
||||||
|
+ instance-of v2, v1, Lradiant/gestures/queue/ComposeSearchQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz v2, :rl_search_queue_continue
|
||||||
|
+
|
||||||
|
+ check-cast v1, Lradiant/gestures/queue/ComposeSearchQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, v1}, Lradiant/gestures/queue/ComposeSearchQueue;->handle(Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;Lradiant/gestures/queue/ComposeSearchQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ return-void
|
||||||
|
+
|
||||||
|
+ :rl_search_queue_continue
|
||||||
|
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||||
|
|
||||||
|
.line 6
|
||||||
|
--- a/com/tidal/android/feature/search/ui/composables/u0.smali
|
||||||
|
+++ b/com/tidal/android/feature/search/ui/composables/u0.smali
|
||||||
|
@@ -243,6 +243,24 @@
|
||||||
|
|
||||||
|
check-cast v2, Lam0/a;
|
||||||
|
|
||||||
|
+ invoke-static {v1}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ new-instance v6, Lradiant/gestures/queue/ComposeSearchQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v6, p3, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;-><init>(Lam0/l;Lpb0/b;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v6}, Lradiant/gestures/queue/ComposeSearchQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v7
|
||||||
|
+
|
||||||
|
+ iget-boolean p1, v0, Lpb0/b$a;->f:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v3, v7, v6, p1, v4}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v3
|
||||||
|
+
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
.line 20
|
||||||
|
@@ -467,7 +485,25 @@
|
||||||
|
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
- const/4 v2, 0x0
|
||||||
|
+ invoke-static {v1}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ new-instance v6, Lradiant/gestures/queue/ComposeSearchQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v6, p3, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;-><init>(Lam0/l;Lpb0/b;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v6}, Lradiant/gestures/queue/ComposeSearchQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v7
|
||||||
|
+
|
||||||
|
+ sget-object v2, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
|
||||||
|
+
|
||||||
|
+ const/4 p1, 0x1
|
||||||
|
+
|
||||||
|
+ invoke-static {v2, v7, v6, p1, v4}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v2
|
||||||
|
|
||||||
|
.line 52
|
||||||
|
invoke-static/range {v0 .. v5}, Lob0/w;->a(Lpb0/b$f;Lam0/a;Landroidx/compose/ui/Modifier;Lam0/a;Landroidx/compose/runtime/Composer;I)V
|
||||||
|
@@ -593,6 +629,24 @@
|
||||||
|
|
||||||
|
check-cast v3, Lam0/a;
|
||||||
|
|
||||||
|
+ invoke-static {v1}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ new-instance v6, Lradiant/gestures/queue/ComposeSearchQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v6, p3, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;-><init>(Lam0/l;Lpb0/b;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v6}, Lradiant/gestures/queue/ComposeSearchQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v7
|
||||||
|
+
|
||||||
|
+ iget-boolean p1, v0, Lpb0/b$i;->i:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v2, v7, v6, p1, v4}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v2
|
||||||
|
+
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
.line 70
|
||||||
|
@@ -828,7 +882,25 @@
|
||||||
|
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
- const/4 v2, 0x0
|
||||||
|
+ invoke-static {v1}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ new-instance v6, Lradiant/gestures/queue/ComposeSearchQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v6, p3, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;-><init>(Lam0/l;Lpb0/b;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v6}, Lradiant/gestures/queue/ComposeSearchQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v7
|
||||||
|
+
|
||||||
|
+ sget-object v2, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
|
||||||
|
+
|
||||||
|
+ const/4 p1, 0x1
|
||||||
|
+
|
||||||
|
+ invoke-static {v2, v7, v6, p1, v4}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v2
|
||||||
|
|
||||||
|
.line 104
|
||||||
|
invoke-static/range {v0 .. v5}, Lob0/q;->a(Lpb0/b$e;Lam0/a;Landroidx/compose/ui/Modifier;Lam0/a;Landroidx/compose/runtime/Composer;I)V
|
||||||
|
--- a/com/tidal/android/feature/viewall/ui/l.smali
|
||||||
|
+++ b/com/tidal/android/feature/viewall/ui/l.smali
|
||||||
|
@@ -317,6 +317,31 @@
|
||||||
|
.line 132
|
||||||
|
check-cast v3, Lam0/l;
|
||||||
|
|
||||||
|
+ instance-of p1, v2, Lm40/e$e;
|
||||||
|
+
|
||||||
|
+ if-eqz p1, :rl_viewall_swipe_attached
|
||||||
|
+
|
||||||
|
+ move-object p1, v2
|
||||||
|
+
|
||||||
|
+ check-cast p1, Lm40/e$e;
|
||||||
|
+
|
||||||
|
+ iget-wide p2, p1, Lm40/e$e;->a:J
|
||||||
|
+
|
||||||
|
+ invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||||
|
+
|
||||||
|
+ move-result-object p2
|
||||||
|
+
|
||||||
|
+ new-instance p3, Lradiant/gestures/queue/ViewAllTrackQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {p3, v3, p1}, Lradiant/gestures/queue/ViewAllTrackQueueAction;-><init>(Lam0/l;Lm40/e$e;)V
|
||||||
|
+
|
||||||
|
+ iget-boolean p1, p1, Lm40/e$e;->j:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v1, p2, p3, p1, v5}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ :rl_viewall_swipe_attached
|
||||||
|
.line 133
|
||||||
|
.line 134
|
||||||
|
const/4 v6, 0x0
|
||||||
|
--- a/j40/p2.smali
|
||||||
|
+++ b/j40/p2.smali
|
||||||
|
@@ -3240,5 +3240,14 @@
|
||||||
|
move-object/from16 v16, v1
|
||||||
|
|
||||||
|
+ instance-of v3, v14, Lcom/tidal/android/feature/viewall/ui/n;
|
||||||
|
+
|
||||||
|
+ if-eqz v3, :rl_viewall_tap_guard_done
|
||||||
|
+
|
||||||
|
+ invoke-static/range {v24 .. v24}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v24
|
||||||
|
+
|
||||||
|
+ :rl_viewall_tap_guard_done
|
||||||
|
.line 718
|
||||||
|
.line 719
|
||||||
|
move-object/from16 v25, v9
|
||||||
|
--- a/com/tidal/android/feature/viewall/ui/ViewAllScreenViewModel.smali
|
||||||
|
+++ b/com/tidal/android/feature/viewall/ui/ViewAllScreenViewModel.smali
|
||||||
|
@@ -1717,5 +1717,16 @@
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
+ invoke-static {p0, p1}, Lradiant/gestures/queue/ViewAllTrackQueue;->handleEvent(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Lcom/tidal/android/feature/viewall/ui/e;)Z
|
||||||
|
+
|
||||||
|
+ move-result v0
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :rl_viewall_regular_event
|
||||||
|
+
|
||||||
|
+ sget-object v0, Lkotlin/u;->a:Lkotlin/u;
|
||||||
|
+
|
||||||
|
+ return-object v0
|
||||||
|
+
|
||||||
|
+ :rl_viewall_regular_event
|
||||||
|
.line 1
|
||||||
|
instance-of v0, p1, Lcom/tidal/android/feature/viewall/ui/e$a;
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/artisttrackcredits/h.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/artisttrackcredits/h.smali
|
||||||
|
@@ -929,1 +929,5 @@
|
||||||
|
check-cast v34, Lam0/a;
|
||||||
|
+ invoke-static/range {v34 .. v34}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v34
|
||||||
|
+
|
||||||
|
@@ -970,1 +974,17 @@
|
||||||
|
move-result-object v0
|
||||||
|
+ iget-wide v14, v3, Lm40/e$e;->a:J
|
||||||
|
+
|
||||||
|
+ invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||||
|
+
|
||||||
|
+ move-result-object v14
|
||||||
|
+
|
||||||
|
+ new-instance v15, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v15, v4, v1, v2, v3}, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V
|
||||||
|
+
|
||||||
|
+ iget-boolean v5, v3, Lm40/e$e;->j:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, v14, v15, v5, v11}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager$createModuleViewState$3.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager$createModuleViewState$3.smali
|
||||||
|
@@ -603,1 +603,12 @@
|
||||||
|
:cond_c
|
||||||
|
+ instance-of p2, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz p2, :rl_artist_credits_queue_unhandled
|
||||||
|
+
|
||||||
|
+ check-cast p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, p1}, Lradiant/gestures/queue/ArtistTrackCreditsQueue;->handle(Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ goto :goto_4
|
||||||
|
+
|
||||||
|
+ :rl_artist_credits_queue_unhandled
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/verticallistcard/VerticalListCardKt.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/verticallistcard/VerticalListCardKt.smali
|
||||||
|
@@ -3648,1 +3648,24 @@
|
||||||
|
move-result-object v0
|
||||||
|
+ invoke-static {v10}, Lradiant/gestures/queue/VerticalMediaQueueAction;->isSupported(Lm40/e;)Z
|
||||||
|
+
|
||||||
|
+ move-result v7
|
||||||
|
+
|
||||||
|
+ if-eqz v7, :rl_vertical_swipe_done
|
||||||
|
+
|
||||||
|
+ new-instance v7, Lradiant/gestures/queue/VerticalMediaQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v7, v4, v1, v2, v10}, Lradiant/gestures/queue/VerticalMediaQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v7}, Lradiant/gestures/queue/VerticalMediaQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v9
|
||||||
|
+
|
||||||
|
+ invoke-static {v10}, Lradiant/gestures/queue/VerticalMediaQueueAction;->isEligible(Lm40/e;)Z
|
||||||
|
+
|
||||||
|
+ move-result v12
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, v9, v7, v12, v3}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
+ :rl_vertical_swipe_done
|
||||||
|
--- a/j40/e4.smali
|
||||||
|
+++ b/j40/e4.smali
|
||||||
|
@@ -310,1 +310,24 @@
|
||||||
|
check-cast v11, Lam0/a;
|
||||||
|
+ instance-of v8, v6, Lcom/tidal/android/dynamicpages/ui/composables/verticallistcard/m;
|
||||||
|
+
|
||||||
|
+ if-eqz v8, :rl_vertical_tap_guard_done
|
||||||
|
+
|
||||||
|
+ instance-of v8, v5, Lm40/e;
|
||||||
|
+
|
||||||
|
+ if-eqz v8, :rl_vertical_tap_guard_done
|
||||||
|
+
|
||||||
|
+ move-object v8, v5
|
||||||
|
+
|
||||||
|
+ check-cast v8, Lm40/e;
|
||||||
|
+
|
||||||
|
+ invoke-static {v8}, Lradiant/gestures/queue/VerticalMediaQueueAction;->isSupported(Lm40/e;)Z
|
||||||
|
+
|
||||||
|
+ move-result v8
|
||||||
|
+
|
||||||
|
+ if-eqz v8, :rl_vertical_tap_guard_done
|
||||||
|
+
|
||||||
|
+ invoke-static {v11}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v11
|
||||||
|
+
|
||||||
|
+ :rl_vertical_tap_guard_done
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/composables/publicplaylistlist/i.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/composables/publicplaylistlist/i.smali
|
||||||
|
@@ -2120,1 +2120,5 @@
|
||||||
|
check-cast v34, Lam0/a;
|
||||||
|
+ invoke-static/range {v34 .. v34}, Lradiant/gestures/queue/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
|
||||||
|
+
|
||||||
|
+ move-result-object v34
|
||||||
|
+
|
||||||
|
@@ -2161,1 +2165,15 @@
|
||||||
|
move-result-object v0
|
||||||
|
+ new-instance v5, Lradiant/gestures/queue/PublicPlaylistQueueAction;
|
||||||
|
+
|
||||||
|
+ invoke-direct {v5, v4, v1, v2, v3}, Lradiant/gestures/queue/PublicPlaylistQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$d;)V
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v5}, Lradiant/gestures/queue/PublicPlaylistQueueAction;->stableKey()Ljava/lang/String;
|
||||||
|
+
|
||||||
|
+ move-result-object v7
|
||||||
|
+
|
||||||
|
+ iget-boolean v9, v3, Lm40/e$d;->g:Z
|
||||||
|
+
|
||||||
|
+ invoke-static {v0, v7, v5, v9, v11}, Lradiant/gestures/queue/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager$createModuleViewState$3.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager$createModuleViewState$3.smali
|
||||||
|
@@ -830,1 +830,12 @@
|
||||||
|
:cond_15
|
||||||
|
+ instance-of v2, v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz v2, :rl_vertical_queue_continue
|
||||||
|
+
|
||||||
|
+ check-cast v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {v3, v0}, Lradiant/gestures/queue/DynamicMediaQueue;->handleVertical(Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ goto :goto_2
|
||||||
|
+
|
||||||
|
+ :rl_vertical_queue_continue
|
||||||
|
--- a/com/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager$createModuleViewState$3.smali
|
||||||
|
+++ b/com/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager$createModuleViewState$3.smali
|
||||||
|
@@ -487,2 +487,13 @@
|
||||||
|
:cond_c
|
||||||
|
+ instance-of v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ if-eqz v1, :rl_public_queue_continue
|
||||||
|
+
|
||||||
|
+ check-cast p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;
|
||||||
|
+
|
||||||
|
+ invoke-static {p2, p1}, Lradiant/gestures/queue/DynamicMediaQueue;->handlePublicPlaylist(Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V
|
||||||
|
+
|
||||||
|
+ goto :goto_1
|
||||||
|
+
|
||||||
|
+ :rl_public_queue_continue
|
||||||
|
invoke-static {}, Landroidx/navigation/f0;->a()V
|
||||||
@@ -0,0 +1,506 @@
|
|||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment.smali
|
||||||
|
@@ -107,6 +107,154 @@
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
+.method public final Y(ILcom/aspiro/wamp/model/FavoriteTrack;)Z
|
||||||
|
+ .locals 3
|
||||||
|
+
|
||||||
|
+ # reject unavailable tracks
|
||||||
|
+ if-eqz p2, :not_eligible
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->d:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :not_eligible
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v0, p1}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;->b(I)Lcom/aspiro/wamp/model/FavoriteTrack;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ if-eqz v1, :not_eligible
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
+
|
||||||
|
+ move-result v2
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
|
||||||
|
+
|
||||||
|
+ move-result p1
|
||||||
|
+
|
||||||
|
+ if-ne v2, p1, :not_eligible
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->f:Lcom/aspiro/wamp/model/AvailabilityInteractor;
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :not_eligible
|
||||||
|
+
|
||||||
|
+ invoke-interface {v0, v1}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v0}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
|
||||||
|
+
|
||||||
|
+ move-result v0
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :not_eligible
|
||||||
|
+
|
||||||
|
+ const/4 v0, 0x1
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+
|
||||||
|
+ :not_eligible
|
||||||
|
+ const/4 v0, 0x0
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
+.method public final Z(ILcom/aspiro/wamp/model/FavoriteTrack;I)V
|
||||||
|
+ .locals 6
|
||||||
|
+
|
||||||
|
+ move v5, p1
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p0, p1, p2}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->Y(ILcom/aspiro/wamp/model/FavoriteTrack;)Z
|
||||||
|
+
|
||||||
|
+ move-result v0
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :done
|
||||||
|
+
|
||||||
|
+ # accepts a Source, wrap the swiped track.
|
||||||
|
+ iget-object p1, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->d:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;
|
||||||
|
+
|
||||||
|
+ if-eqz p1, :done
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p1, v5}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;->b(I)Lcom/aspiro/wamp/model/FavoriteTrack;
|
||||||
|
+
|
||||||
|
+ move-result-object p2
|
||||||
|
+
|
||||||
|
+ if-eqz p2, :done
|
||||||
|
+
|
||||||
|
+ iget-object v0, p1, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;->m:Lcom/tidal/android/navigation/NavigationInfo;
|
||||||
|
+
|
||||||
|
+ invoke-static {v0}, Lcom/aspiro/wamp/playqueue/source/model/b;->m(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/MyItemsSource;
|
||||||
|
+
|
||||||
|
+ move-result-object v4
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v4, p2}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
|
||||||
|
+
|
||||||
|
+ iget-object v3, p1, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/g0;->k:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->b:Lx40/a;
|
||||||
|
+
|
||||||
|
+ instance-of p1, v0, Lh4/a;
|
||||||
|
+
|
||||||
|
+ if-eqz p1, :done
|
||||||
|
+
|
||||||
|
+ check-cast v0, Lh4/a;
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getActivity()Landroidx/fragment/app/FragmentActivity;
|
||||||
|
+
|
||||||
|
+ move-result-object v1
|
||||||
|
+
|
||||||
|
+ if-eqz v1, :done
|
||||||
|
+
|
||||||
|
+ move-object v2, p2
|
||||||
|
+
|
||||||
|
+ const/4 p1, 0x3
|
||||||
|
+
|
||||||
|
+ if-eq p3, p1, :rl_favorite_add_to_playlist
|
||||||
|
+
|
||||||
|
+ const/4 p1, 0x1
|
||||||
|
+
|
||||||
|
+ if-ne p3, p1, :rl_favorite_append
|
||||||
|
+
|
||||||
|
+ invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
|
||||||
|
+ move-result p1
|
||||||
|
+ if-nez p1, :rl_favorite_play_next
|
||||||
|
+ const/4 v0, 0x0
|
||||||
|
+ goto :rl_favorite_result
|
||||||
|
+ :rl_favorite_play_next
|
||||||
|
+ invoke-static {v1, v2, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
+
|
||||||
|
+ move-result v0
|
||||||
|
+
|
||||||
|
+ goto :rl_favorite_result
|
||||||
|
+
|
||||||
|
+ :rl_favorite_append
|
||||||
|
+ invoke-virtual/range {v0 .. v4}, Lh4/a;->q(Landroidx/fragment/app/FragmentActivity;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
+
|
||||||
|
+ move-result v0
|
||||||
|
+
|
||||||
|
+ goto :rl_favorite_result
|
||||||
|
+
|
||||||
|
+ :rl_favorite_add_to_playlist
|
||||||
|
+ invoke-static {v1, v2, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
|
||||||
|
+
|
||||||
|
+ goto :done
|
||||||
|
+
|
||||||
|
+ :rl_favorite_result
|
||||||
|
+
|
||||||
|
+ if-nez v0, :done
|
||||||
|
+
|
||||||
|
+ # if nothing is playing, call row click handler to play the track directly instead of adding it to queue
|
||||||
|
+ iget-object v0, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->l:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;
|
||||||
|
+
|
||||||
|
+ if-eqz v0, :done
|
||||||
|
+
|
||||||
|
+ iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;->f:Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p0, v0, v5, v0}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->w(Landroidx/recyclerview/widget/RecyclerView;ILandroid/view/View;)V
|
||||||
|
+
|
||||||
|
+ :done
|
||||||
|
+ return-void
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# virtual methods
|
||||||
|
.method public final M()Ln8/b;
|
||||||
|
.locals 1
|
||||||
|
@@ -2265,9 +2448,16 @@
|
||||||
|
iput-object p0, p1, Lo4/g;->e:Lo4/g$e;
|
||||||
|
|
||||||
|
.line 224
|
||||||
|
.line 225
|
||||||
|
iput p2, p1, Lo4/g;->b:I
|
||||||
|
+ iget-object p1, p0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->l:Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||||
|
+
|
||||||
|
+ iget-object p1, p1, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/m;->f:Landroidx/recyclerview/widget/RecyclerView;
|
||||||
|
+
|
||||||
|
+ invoke-static {p0, p1}, Lradiant/gestures/queue/FavoriteTracksResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
|
||||||
|
.line 226
|
||||||
|
.line 227
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->N()Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/n;
|
||||||
|
--- a/p7/a.smali
|
||||||
|
+++ b/p7/a.smali
|
||||||
|
@@ -33,3 +33,11 @@
|
||||||
|
.end method
|
||||||
|
|
||||||
|
+.method public b(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+ .locals 0
|
||||||
|
+
|
||||||
|
+ invoke-static {p1}, Lradiant/gestures/queue/DynamicTrackResolver;->install(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
+ return-void
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
.method public final c(Ljava/lang/Object;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
||||||
|
--- a/v6/e.smali
|
||||||
|
+++ b/v6/e.smali
|
||||||
|
@@ -62,3 +62,11 @@
|
||||||
|
.end method
|
||||||
|
|
||||||
|
+.method public b(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+ .locals 0
|
||||||
|
+
|
||||||
|
+ invoke-static {p1}, Lradiant/gestures/queue/DynamicTrackResolver;->install(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
+ return-void
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
.method public final c(Ljava/lang/Object;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView.smali
|
||||||
|
@@ -559,6 +559,8 @@
|
||||||
|
.line 23
|
||||||
|
invoke-static {v0, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/MyAlbumsResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 24
|
||||||
|
.line 25
|
||||||
|
.line 26
|
||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView.smali
|
||||||
|
@@ -581,6 +581,8 @@
|
||||||
|
.line 23
|
||||||
|
invoke-static {p1, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/MyPlaylistsResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 24
|
||||||
|
.line 25
|
||||||
|
.line 26
|
||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView.smali
|
||||||
|
@@ -556,6 +556,8 @@
|
||||||
|
.line 22
|
||||||
|
.line 23
|
||||||
|
invoke-static {p1, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/MyMixesAndRadioResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 24
|
||||||
|
.line 25
|
||||||
|
.line 26
|
||||||
|
--- a/androidx/recyclerview/widget/ItemTouchHelper$2.smali
|
||||||
|
+++ b/androidx/recyclerview/widget/ItemTouchHelper$2.smali
|
||||||
|
@@ -773,7 +773,11 @@
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
.line 54
|
||||||
|
- if-eq p1, v5, :cond_9
|
||||||
|
+ if-ne p1, v5, :rl_not_explicit_release
|
||||||
|
+ iget-object v6, v2, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
|
||||||
|
+ invoke-static {v6, v5}, Lradiant/gestures/queue/SwipeToQueue;->setReleaseAllowed(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;Z)V
|
||||||
|
+ goto :cond_9
|
||||||
|
+ :rl_not_explicit_release
|
||||||
|
|
||||||
|
.line 55
|
||||||
|
.line 56
|
||||||
|
@@ -867,6 +871,9 @@
|
||||||
|
|
||||||
|
.line 97
|
||||||
|
:cond_6
|
||||||
|
+ const/4 v6, 0x0
|
||||||
|
+ iget-object v1, v2, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
|
||||||
|
+ invoke-static {v1, v6}, Lradiant/gestures/queue/SwipeToQueue;->setReleaseAllowed(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;Z)V
|
||||||
|
iget-object p1, v2, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
|
||||||
|
|
||||||
|
.line 98
|
||||||
|
--- a/h4/a.smali
|
||||||
|
+++ b/h4/a.smali
|
||||||
|
@@ -931,1 +931,46 @@
|
||||||
|
.end method
|
||||||
|
+
|
||||||
|
+.method public final q(Landroidx/fragment/app/FragmentActivity;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
|
||||||
|
+ .locals 3
|
||||||
|
+
|
||||||
|
+ iget-object v0, p0, Lh4/a;->n:Lcom/aspiro/wamp/contextmenu/menu/track/TrackContextMenu$a;
|
||||||
|
+
|
||||||
|
+ check-cast v0, Lcom/aspiro/wamp/contextmenu/menu/track/d;
|
||||||
|
+
|
||||||
|
+ iget-object v1, v0, Lcom/aspiro/wamp/contextmenu/menu/track/d;->a:Lcom/aspiro/wamp/contextmenu/menu/track/c;
|
||||||
|
+
|
||||||
|
+ iget-object v0, v1, Lcom/aspiro/wamp/contextmenu/menu/track/c;->b:Ldagger/internal/j;
|
||||||
|
+
|
||||||
|
+ invoke-interface {v0}, Lql0/a;->get()Ljava/lang/Object;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
+ check-cast v0, Lm3/f$a;
|
||||||
|
+
|
||||||
|
+ invoke-interface {v0, p2, p3, p4}, Lm3/f$a;->a(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/f;
|
||||||
|
+
|
||||||
|
+ move-result-object v0
|
||||||
|
+
|
||||||
|
+ iget-object v2, v0, Lm3/f;->j:Lcom/aspiro/wamp/playqueue/g1;
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v2}, Lcom/aspiro/wamp/playqueue/g1;->a()Lcom/aspiro/wamp/player/d;
|
||||||
|
+
|
||||||
|
+ move-result-object v2
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v2}, Lcom/aspiro/wamp/player/d;->b()Lcom/aspiro/wamp/model/MediaItemParent;
|
||||||
|
+
|
||||||
|
+ move-result-object v2
|
||||||
|
+
|
||||||
|
+ if-eqz v2, :empty_queue
|
||||||
|
+
|
||||||
|
+ invoke-virtual {v0, p1}, Lm3/f;->b(Landroidx/fragment/app/FragmentActivity;)V
|
||||||
|
+
|
||||||
|
+ const/4 v0, 0x1
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+
|
||||||
|
+ :empty_queue
|
||||||
|
+ const/4 v0, 0x0
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+.end method
|
||||||
|
--- a/com/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl.smali
|
||||||
|
+++ b/com/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl.smali
|
||||||
|
@@ -31,6 +31,10 @@
|
||||||
|
|
||||||
|
.field public g:I
|
||||||
|
|
||||||
|
+.field public final h:Landroid/graphics/drawable/Drawable;
|
||||||
|
+
|
||||||
|
+.field public i:Z
|
||||||
|
+
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method public constructor <init>(Landroid/content/Context;Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/a;Lcom/aspiro/wamp/nowplaying/view/playqueue/l;)V
|
||||||
|
@@ -55,6 +59,26 @@
|
||||||
|
|
||||||
|
.line 10
|
||||||
|
.line 11
|
||||||
|
+ # trash icon
|
||||||
|
+ sget p2, Lcom/aspiro/wamp/R$drawable;->ic_delete:I
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p1, p2}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
+
|
||||||
|
+ move-result-object p2
|
||||||
|
+
|
||||||
|
+ if-eqz p2, :store_remove_icon
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p2}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
|
||||||
|
+
|
||||||
|
+ move-result-object p2
|
||||||
|
+
|
||||||
|
+ const/4 p3, -0x1
|
||||||
|
+
|
||||||
|
+ invoke-virtual {p2, p3}, Landroid/graphics/drawable/Drawable;->setTint(I)V
|
||||||
|
+
|
||||||
|
+ :store_remove_icon
|
||||||
|
+ iput-object p2, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->h:Landroid/graphics/drawable/Drawable;
|
||||||
|
+
|
||||||
|
new-instance p2, Landroid/graphics/drawable/ColorDrawable;
|
||||||
|
|
||||||
|
.line 12
|
||||||
|
@@ -377,6 +401,10 @@
|
||||||
|
.line 5
|
||||||
|
.line 6
|
||||||
|
.line 7
|
||||||
|
+ const/4 v0, 0x0
|
||||||
|
+
|
||||||
|
+ iput-boolean v0, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->i:Z
|
||||||
|
+
|
||||||
|
iget-object v0, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->d:Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl$ActionType;
|
||||||
|
|
||||||
|
.line 8
|
||||||
|
@@ -844,7 +872,7 @@
|
||||||
|
|
||||||
|
.line 32
|
||||||
|
.line 33
|
||||||
|
- const/4 v1, 0x4
|
||||||
|
+ const/16 v1, __RL_SWIPE_TO_QUEUE_REMOVE_DIRECTION__
|
||||||
|
|
||||||
|
.line 34
|
||||||
|
:cond_1
|
||||||
|
@@ -896,7 +924,23 @@
|
||||||
|
.end method
|
||||||
|
|
||||||
|
+.method public getSwipeEscapeVelocity(F)F
|
||||||
|
+ .locals 1
|
||||||
|
+ # Float.MAX_VALUE
|
||||||
|
+ const v0, 0x7f7fffff
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
+.method public getSwipeThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
|
||||||
|
+ .locals 1
|
||||||
|
+ # 0.3f
|
||||||
|
+ const v0, 0x3e99999a
|
||||||
|
+
|
||||||
|
+ return v0
|
||||||
|
+.end method
|
||||||
|
+
|
||||||
|
.method public final onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
|
||||||
|
- .locals 2
|
||||||
|
+ .locals 8
|
||||||
|
|
||||||
|
.line 1
|
||||||
|
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||||
|
@@ -916,6 +960,16 @@
|
||||||
|
.line 10
|
||||||
|
invoke-super/range {p0 .. p7}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
|
||||||
|
|
||||||
|
+ move-object/from16 v0, p0
|
||||||
|
+ move-object/from16 v1, p1
|
||||||
|
+ move-object/from16 v2, p3
|
||||||
|
+ move/from16 v3, p4
|
||||||
|
+ move/from16 v4, p6
|
||||||
|
+ move/from16 v5, p7
|
||||||
|
+ invoke-static/range {v0 .. v5}, Lradiant/gestures/queue/QueueSwipeRemove;->draw(Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FIZ)V
|
||||||
|
+
|
||||||
|
+ goto :cond_0
|
||||||
|
+
|
||||||
|
.line 11
|
||||||
|
.line 12
|
||||||
|
.line 13
|
||||||
|
--- a/com/aspiro/wamp/nowplaying/view/playqueue/l.smali
|
||||||
|
+++ b/com/aspiro/wamp/nowplaying/view/playqueue/l.smali
|
||||||
|
@@ -983,6 +983,8 @@
|
||||||
|
.line 121
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
+ invoke-static {p1}, Lradiant/gestures/queue/QueueSwipeRemove;->setRemoveDuration(Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 122
|
||||||
|
new-instance p2, Landroidx/recyclerview/widget/LinearLayoutManager;
|
||||||
|
|
||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView.smali
|
||||||
|
@@ -1176,8 +1176,10 @@
|
||||||
|
.line 69
|
||||||
|
.line 70
|
||||||
|
.line 71
|
||||||
|
invoke-static {v0, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/SearchAlbumsResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 72
|
||||||
|
.line 73
|
||||||
|
.line 74
|
||||||
|
--- a/com/aspiro/wamp/playlist/ui/fragment/PlaylistFragment.smali
|
||||||
|
+++ b/com/aspiro/wamp/playlist/ui/fragment/PlaylistFragment.smali
|
||||||
|
@@ -5193,8 +5193,10 @@
|
||||||
|
.line 127
|
||||||
|
.line 128
|
||||||
|
.line 129
|
||||||
|
invoke-static {v1, p1}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->install(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
|
||||||
|
+
|
||||||
|
.line 130
|
||||||
|
.line 131
|
||||||
|
.line 132
|
||||||
|
--- a/com/aspiro/wamp/search/v2/UnifiedSearchView.smali
|
||||||
|
+++ b/com/aspiro/wamp/search/v2/UnifiedSearchView.smali
|
||||||
|
@@ -1596,8 +1596,10 @@
|
||||||
|
.line 60
|
||||||
|
.line 61
|
||||||
|
.line 62
|
||||||
|
invoke-static {v0, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/UnifiedSearchResolver;->install(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 63
|
||||||
|
.line 64
|
||||||
|
.line 65
|
||||||
|
--- a/com/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView.smali
|
||||||
|
+++ b/com/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView.smali
|
||||||
|
@@ -1204,8 +1204,10 @@
|
||||||
|
.line 69
|
||||||
|
.line 70
|
||||||
|
.line 71
|
||||||
|
invoke-static {v0, p2}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p2}, Lradiant/gestures/queue/SearchPlaylistsResolver;->install(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 72
|
||||||
|
.line 73
|
||||||
|
.line 74
|
||||||
|
--- a/com/tidal/android/feature/feed/ui/FeedView.smali
|
||||||
|
+++ b/com/tidal/android/feature/feed/ui/FeedView.smali
|
||||||
|
@@ -306,8 +306,10 @@
|
||||||
|
.line 36
|
||||||
|
.line 37
|
||||||
|
.line 38
|
||||||
|
invoke-static {p2, p1}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
|
||||||
|
|
||||||
|
+ invoke-static {p0, p1}, Lradiant/gestures/queue/FeedResolver;->install(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 39
|
||||||
|
.line 40
|
||||||
|
.line 41
|
||||||
|
--- a/com/aspiro/wamp/nowplaying/view/suggestions/o0.smali
|
||||||
|
+++ b/com/aspiro/wamp/nowplaying/view/suggestions/o0.smali
|
||||||
|
@@ -876,7 +876,9 @@
|
||||||
|
.line 96
|
||||||
|
invoke-virtual {v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
|
||||||
|
|
||||||
|
+ invoke-static {p0, v0}, Lradiant/gestures/queue/SuggestionsResolver;->install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
|
.line 97
|
||||||
|
.line 98
|
||||||
|
.line 99
|
||||||
|
invoke-virtual {p0}, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->M()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
|
||||||
|
--- a/com/aspiro/wamp/nowplaying/view/suggestions/h.smali
|
||||||
|
+++ b/com/aspiro/wamp/nowplaying/view/suggestions/h.smali
|
||||||
|
@@ -674,1 +674,3 @@
|
||||||
|
invoke-virtual {v3, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
|
||||||
|
+ invoke-static {p0, v3}, Lradiant/gestures/queue/SuggestionsResolver;->install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
|
||||||
|
+
|
||||||
+149
-13
@@ -422,6 +422,142 @@
|
|||||||
"description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.",
|
"description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "SwipeToQueue",
|
||||||
|
"order": 39,
|
||||||
|
"fileNames": [
|
||||||
|
"swipe-to-queue.patch",
|
||||||
|
"swipe-to-queue-compose.patch"
|
||||||
|
],
|
||||||
|
"extensionFiles": [
|
||||||
|
"radiant/gestures/queue/SwipeToQueue.smali",
|
||||||
|
"radiant/gestures/queue/QueueSwipeRemove.smali",
|
||||||
|
"radiant/gestures/queue/QueueRequest.smali",
|
||||||
|
"radiant/gestures/queue/QueueRowResolver.smali",
|
||||||
|
"radiant/gestures/queue/QueueExecutor.smali",
|
||||||
|
"radiant/gestures/queue/FavoriteTracksResolver.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyAlbumsResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyPlaylistsResolver.smali",
|
||||||
|
"radiant/gestures/queue/MyMixesAndRadioResolver.smali",
|
||||||
|
"radiant/gestures/queue/SearchAlbumsResolver.smali",
|
||||||
|
"radiant/gestures/queue/SearchPlaylistsResolver.smali",
|
||||||
|
"radiant/gestures/queue/PlaylistItemsResolver.smali",
|
||||||
|
"radiant/gestures/queue/UnifiedSearchResolver.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeAction.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$Gesture.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$Draw.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSwipeState$ResetAnimator.smali",
|
||||||
|
"radiant/gestures/queue/ComposeTapGuard.smali",
|
||||||
|
"radiant/gestures/queue/AlbumItemQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicTrackQueue.smali",
|
||||||
|
"radiant/gestures/queue/ViewAllTrackQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ViewAllTrackQueue.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ComposeSearchQueue.smali",
|
||||||
|
"radiant/gestures/queue/FeedResolver.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/ArtistTrackCreditsQueue.smali",
|
||||||
|
"radiant/gestures/queue/DynamicMediaQueueEvent.smali",
|
||||||
|
"radiant/gestures/queue/CompactGridMediaQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/VerticalMediaQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/PublicPlaylistQueueAction.smali",
|
||||||
|
"radiant/gestures/queue/DynamicMediaQueue.smali",
|
||||||
|
"radiant/gestures/queue/SuggestionsResolver.smali"
|
||||||
|
],
|
||||||
|
"title": "Swipe to Queue",
|
||||||
|
"description": "Swipe on tracks/albums/playlists to add them to the play queue (and more actions)",
|
||||||
|
"default": false,
|
||||||
|
"advancedOptions": [
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "left_action",
|
||||||
|
"title": "Left Swipe Action",
|
||||||
|
"entries": [
|
||||||
|
"Disabled",
|
||||||
|
"Play next",
|
||||||
|
"Add to queue",
|
||||||
|
"Add to playlist"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x0",
|
||||||
|
"0x1",
|
||||||
|
"0x2",
|
||||||
|
"0x3"
|
||||||
|
],
|
||||||
|
"defaultIndex": 2,
|
||||||
|
"inline": true,
|
||||||
|
"distinctFrom": "right_action",
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_LEFT_ACTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "right_action",
|
||||||
|
"title": "Right Swipe Action",
|
||||||
|
"entries": [
|
||||||
|
"Disabled",
|
||||||
|
"Play next",
|
||||||
|
"Add to queue",
|
||||||
|
"Add to playlist"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x0",
|
||||||
|
"0x1",
|
||||||
|
"0x2",
|
||||||
|
"0x3"
|
||||||
|
],
|
||||||
|
"defaultIndex": 0,
|
||||||
|
"inline": true,
|
||||||
|
"distinctFrom": "left_action",
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_RIGHT_ACTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "choice",
|
||||||
|
"key": "remove_direction",
|
||||||
|
"title": "Remove Track from Queue",
|
||||||
|
"entries": [
|
||||||
|
"Left swipe",
|
||||||
|
"Right swipe",
|
||||||
|
"Both directions"
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
"0x4",
|
||||||
|
"0x8",
|
||||||
|
"0xc"
|
||||||
|
],
|
||||||
|
"defaultIndex": 0,
|
||||||
|
"forceDropdown": true,
|
||||||
|
"inline": true,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_REMOVE_DIRECTION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "background_color",
|
||||||
|
"title": "Add to Queue Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_ADD_COLOR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "play_next_color",
|
||||||
|
"title": "Play Next Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "color",
|
||||||
|
"key": "add_to_playlist_color",
|
||||||
|
"title": "Add to Playlist Color",
|
||||||
|
"default": -14408663,
|
||||||
|
"token": "RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "LyricsProgressPill",
|
"id": "LyricsProgressPill",
|
||||||
"order": 40,
|
"order": 40,
|
||||||
@@ -542,14 +678,14 @@
|
|||||||
"lyrics-gesture-scroll-guard.patch"
|
"lyrics-gesture-scroll-guard.patch"
|
||||||
],
|
],
|
||||||
"extensionFiles": [
|
"extensionFiles": [
|
||||||
"radiant/gestures/MiniPlayerGestures.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$Gesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$Gesture.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$FeedbackLayer.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$FeedbackLayer.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$FeedbackResetAnimator.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$FeedbackResetAnimator.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$RootGesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$RootGesture.smali",
|
||||||
"radiant/gestures/MiniPlayerGestures$ApplyPending.smali",
|
"radiant/gestures/miniplayer/MiniPlayerGestures$ApplyPending.smali",
|
||||||
"radiant/gestures/LyricsDrag.smali",
|
"radiant/gestures/lyrics/LyricsDrag.smali",
|
||||||
"radiant/gestures/LyricsDrag$Guard.smali"
|
"radiant/gestures/lyrics/LyricsDrag$Guard.smali"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -579,11 +715,11 @@
|
|||||||
"mini-player-left-right-gesture.patch"
|
"mini-player-left-right-gesture.patch"
|
||||||
],
|
],
|
||||||
"extensionFiles": [
|
"extensionFiles": [
|
||||||
"radiant/gestures/MiniPlayerTrackGestures.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$Gesture.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$Gesture.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$OffsetLayer.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$OffsetLayer.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$ResetAnimator.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$ResetAnimator.smali",
|
||||||
"radiant/gestures/MiniPlayerTrackGestures$TextDraw.smali",
|
"radiant/gestures/miniplayer/MiniPlayerTrackGestures$TextDraw.smali",
|
||||||
"com/tidal/android/feature/appscaffold/ui/r$c.smali"
|
"com/tidal/android/feature/appscaffold/ui/r$c.smali"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import coil.request.CachePolicy;
|
|||||||
import com.tidal.android.feature.playerscreen.ui.composables.p3;
|
import com.tidal.android.feature.playerscreen.ui.composables.p3;
|
||||||
import com.tidal.android.feature.playerscreen.ui.model.PlayerBackgroundStyle;
|
import com.tidal.android.feature.playerscreen.ui.model.PlayerBackgroundStyle;
|
||||||
import com.tidal.android.image.coil.base.CoilImageLoader;
|
import com.tidal.android.image.coil.base.CoilImageLoader;
|
||||||
import com.tidal.android.image.core.b;
|
import com.tidal.android.image.core.b; // MARKER: R8 core.b
|
||||||
|
|
||||||
import dev.kawarp.KawarpEngine;
|
import dev.kawarp.KawarpEngine;
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ import java.util.concurrent.Executors;
|
|||||||
* (cloned at tools/kawarp-agsl) and is compiled into this bundle by tools/kawarp-build/build.sh;
|
* (cloned at tools/kawarp-agsl) and is compiled into this bundle by tools/kawarp-build/build.sh;
|
||||||
* this class only holds what is TIDAL/Compose-specific
|
* this class only holds what is TIDAL/Compose-specific
|
||||||
*/
|
*/
|
||||||
public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallback, b0.c {
|
public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallback, b0.c { // MARKER: R8 am0.l b0.c
|
||||||
|
|
||||||
/** Stop the frame loop once nothing has drawn for this long (player left / backgrounded). */
|
/** Stop the frame loop once nothing has drawn for this long (player left / backgrounded). */
|
||||||
private static final long IDLE_STOP_MS = 500L;
|
private static final long IDLE_STOP_MS = 500L;
|
||||||
@@ -70,7 +70,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
|
|
||||||
private static KawarpEngine engine;
|
private static KawarpEngine engine;
|
||||||
/** TIDAL's application-scoped Coil loader and the context its requests are built with. */
|
/** TIDAL's application-scoped Coil loader and the context its requests are built with. */
|
||||||
private static volatile coil.f loader;
|
private static volatile coil.f loader; // MARKER: R8 coil.f
|
||||||
private static volatile Context appContext;
|
private static volatile Context appContext;
|
||||||
private static volatile String requestedUuid;
|
private static volatile String requestedUuid;
|
||||||
private static volatile int loadToken;
|
private static volatile int loadToken;
|
||||||
@@ -99,7 +99,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
* the call site here so the whole backdrop works <3
|
* the call site here so the whole backdrop works <3
|
||||||
*/
|
*/
|
||||||
public static void b(PlayerBackgroundStyle style, long color, int albumId, String coverUuid,
|
public static void b(PlayerBackgroundStyle style, long color, int albumId, String coverUuid,
|
||||||
boolean isPlaying, boolean isSeeking, am0.a progress, Modifier modifier,
|
boolean isPlaying, boolean isSeeking, am0.a progress, Modifier modifier, // MARKER: R8 am0.a
|
||||||
Composer composer, int changed) {
|
Composer composer, int changed) {
|
||||||
render(albumId, coverUuid, isPlaying, modifier, composer);
|
render(albumId, coverUuid, isPlaying, modifier, composer);
|
||||||
}
|
}
|
||||||
@@ -112,7 +112,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
boolean ok = !((Boolean) fallbackState.getValue()).booleanValue() && ensureEngine();
|
boolean ok = !((Boolean) fallbackState.getValue()).booleanValue() && ensureEngine();
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
// No (working) AGSL here - fall back to TIDAL's own blurred backdrop.
|
// No (working) AGSL here - fall back to TIDAL's own blurred backdrop.
|
||||||
p3.a(albumId, coverUuid, isPlaying, false, null, modifier, composer, 0);
|
p3.a(albumId, coverUuid, isPlaying, false, null, modifier, composer, 0); // MARKER: R8 p3.a
|
||||||
} else {
|
} else {
|
||||||
engine.setPlaying(isPlaying);
|
engine.setPlaying(isPlaying);
|
||||||
request(albumId, coverUuid);
|
request(albumId, coverUuid);
|
||||||
@@ -131,8 +131,8 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
Object local = composer.consume(AndroidCompositionLocals_androidKt.getLocalContext());
|
Object local = composer.consume(AndroidCompositionLocals_androidKt.getLocalContext());
|
||||||
if (!(local instanceof Context)) return;
|
if (!(local instanceof Context)) return;
|
||||||
Context app = ((Context) local).getApplicationContext();
|
Context app = ((Context) local).getApplicationContext();
|
||||||
if (!(app instanceof ce0.b.a)) return;
|
if (!(app instanceof ce0.b.a)) return; // MARKER: R8 ce0.b.a
|
||||||
Object tidalLoader = ((ce0.b.a) app).a().a();
|
Object tidalLoader = ((ce0.b.a) app).a().a(); // MARKER: R8 ce0.b.a
|
||||||
if (!(tidalLoader instanceof CoilImageLoader)) return;
|
if (!(tidalLoader instanceof CoilImageLoader)) return;
|
||||||
appContext = app;
|
appContext = app;
|
||||||
loader = ((CoilImageLoader) tidalLoader).a;
|
loader = ((CoilImageLoader) tidalLoader).a;
|
||||||
@@ -181,14 +181,14 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
*/
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
xd0.g tidal = new xd0.g(appContext, new b.a(String.valueOf(albumId), uuid),
|
xd0.g tidal = new xd0.g(appContext, new b.a(String.valueOf(albumId), uuid), // MARKER: R8 xd0.g b.a
|
||||||
null, null, false, null, null, false);
|
null, null, false, null, null, false);
|
||||||
coil.request.h.a req = coil.request.h.a(com.tidal.android.image.coil.c.a(tidal, null));
|
coil.request.h.a req = coil.request.h.a(com.tidal.android.image.coil.c.a(tidal, null)); // MARKER: R8 h.a coil.c.a
|
||||||
coil.request.b d = req.b;
|
coil.request.b d = req.b; // MARKER: R8 req.b
|
||||||
req.b = new coil.request.b(d.a, d.b, d.c, d.d, d.e, d.f, d.g, d.h,
|
req.b = new coil.request.b(d.a, d.b, d.c, d.d, d.e, d.f, d.g, d.h, // MARKER: R8 req.b d.a d.b d.c d.d d.e d.f d.g d.h
|
||||||
d.i, d.j, CachePolicy.DISABLED);
|
d.i, d.j, CachePolicy.DISABLED); // MARKER: R8 d.i d.j
|
||||||
req.d = this;
|
req.d = this; // MARKER: R8 req.d
|
||||||
loader.b(req.a());
|
loader.b(req.a()); // MARKER: R8 req.a
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
fail();
|
fail();
|
||||||
}
|
}
|
||||||
@@ -242,7 +242,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
|
|
||||||
public Object invoke(Object scope) {
|
public Object invoke(Object scope) {
|
||||||
draw((DrawScope) scope);
|
draw((DrawScope) scope);
|
||||||
return kotlin.u.a;
|
return kotlin.u.a; // MARKER: R8 u.a
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void draw(DrawScope scope) {
|
private static void draw(DrawScope scope) {
|
||||||
@@ -258,7 +258,7 @@ public final class Kawarp implements am0.l, Runnable, Choreographer.FrameCallbac
|
|||||||
engine.draw(AndroidCanvas_androidKt.getNativeCanvas(scope.getDrawContext().getCanvas()),
|
engine.draw(AndroidCanvas_androidKt.getNativeCanvas(scope.getDrawContext().getCanvas()),
|
||||||
width, height);
|
width, height);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
fallbackState.setValue(Boolean.TRUE); // AGSL draw failed: recompose onto p3.a
|
fallbackState.setValue(Boolean.TRUE); // AGSL draw failed: recompose onto p3.a // MARKER: R8 p3.a
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
package am0;
|
package am0;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `am0.a` - both package and name roll
|
||||||
/** kotlin.jvm.functions.Function0 (obfuscated in the TIDAL dex). */
|
/** kotlin.jvm.functions.Function0 (obfuscated in the TIDAL dex). */
|
||||||
public interface a { Object invoke(); }
|
public interface a { Object invoke(); }
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
package am0;
|
package am0;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `am0.l` - both package and name roll
|
||||||
/** kotlin.jvm.functions.Function1 (obfuscated in the TIDAL dex). */
|
/** kotlin.jvm.functions.Function1 (obfuscated in the TIDAL dex). */
|
||||||
public interface l { Object invoke(Object p1); }
|
public interface l { Object invoke(Object p1); }
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
package androidx.compose.ui.draw;
|
package androidx.compose.ui.draw;
|
||||||
import androidx.compose.ui.Modifier;
|
import androidx.compose.ui.Modifier;
|
||||||
public final class DrawModifierKt {
|
public final class DrawModifierKt {
|
||||||
public static Modifier drawBehind(Modifier modifier, am0.l onDraw) { return null; }
|
public static Modifier drawBehind(Modifier modifier, am0.l onDraw) { return null; } // MARKER: R8 am0.l
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
package b0;
|
package b0;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `b0.c` - both package and name roll
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
/** coil.target.Target (R8 name in TIDAL 2.200): a=onSuccess, b=onStart, d=onError. */
|
/** coil.target.Target (R8 name in TIDAL 2.200): a=onSuccess, b=onStart, d=onError. */
|
||||||
public interface c {
|
public interface c {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package ce0;
|
package ce0;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `ce0.b` - both package and name roll
|
||||||
/** Dagger image component; the Application implements b.a and hands out the loader. */
|
/** Dagger image component; the Application implements b.a and hands out the loader. */
|
||||||
public interface b {
|
public interface b {
|
||||||
xd0.e a();
|
xd0.e a(); // MARKER: R8 xd0.e
|
||||||
interface a { b a(); }
|
interface a { b a(); }
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
package coil;
|
package coil;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `coil.f` - both package and name roll
|
||||||
/** coil.ImageLoader; b() is enqueue(). */
|
/** coil.ImageLoader; b() is enqueue(). */
|
||||||
public interface f {
|
public interface f {
|
||||||
coil.request.d b(coil.request.h request);
|
coil.request.d b(coil.request.h request);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
package coil.request;
|
package coil.request;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.b` - both package and name roll
|
||||||
import kotlinx.coroutines.CoroutineDispatcher;
|
import kotlinx.coroutines.CoroutineDispatcher;
|
||||||
/**
|
/**
|
||||||
* coil.request.DefaultRequestOptions; i/j/k are the memory/disk/network cache policies (proven
|
* coil.request.DefaultRequestOptions; i/j/k are the memory/disk/network cache policies (proven
|
||||||
@@ -8,12 +9,12 @@ import kotlinx.coroutines.CoroutineDispatcher;
|
|||||||
*/
|
*/
|
||||||
public final class b {
|
public final class b {
|
||||||
public CoroutineDispatcher a, b, c, d;
|
public CoroutineDispatcher a, b, c, d;
|
||||||
public d0.c.a e;
|
public d0.c.a e; // MARKER: R8 d0.c.a
|
||||||
public coil.size.Precision f;
|
public coil.size.Precision f;
|
||||||
public android.graphics.Bitmap.Config g;
|
public android.graphics.Bitmap.Config g;
|
||||||
public boolean h;
|
public boolean h;
|
||||||
public CachePolicy i, j, k;
|
public CachePolicy i, j, k;
|
||||||
public b(CoroutineDispatcher a, CoroutineDispatcher b, CoroutineDispatcher c, CoroutineDispatcher d,
|
public b(CoroutineDispatcher a, CoroutineDispatcher b, CoroutineDispatcher c, CoroutineDispatcher d,
|
||||||
d0.c.a transition, coil.size.Precision precision, android.graphics.Bitmap.Config config,
|
d0.c.a transition, coil.size.Precision precision, android.graphics.Bitmap.Config config, // MARKER: R8 d0.c.a
|
||||||
boolean h, CachePolicy memory, CachePolicy disk, CachePolicy network) {}
|
boolean h, CachePolicy memory, CachePolicy disk, CachePolicy network) {}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
package coil.request;
|
package coil.request;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.d` - both package and name roll
|
||||||
/** coil.request.Disposable */
|
/** coil.request.Disposable */
|
||||||
public interface d {}
|
public interface d {}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
package coil.request;
|
package coil.request;
|
||||||
|
// MARKER: R8 whole class: TIDAL dex FQN is `coil.request.h` - both package and name roll
|
||||||
/** coil.request.ImageRequest; a(h) is newBuilder(), h.a is the Builder. */
|
/** coil.request.ImageRequest; a(h) is newBuilder(), h.a is the Builder. */
|
||||||
public final class h {
|
public final class h {
|
||||||
public static a a(h request) { return null; }
|
public static a a(h request) { return null; }
|
||||||
@@ -6,7 +7,7 @@ public final class h {
|
|||||||
/** defaults block the built request copies its cache policies from */
|
/** defaults block the built request copies its cache policies from */
|
||||||
public b b;
|
public b b;
|
||||||
/** target */
|
/** target */
|
||||||
public b0.c d;
|
public b0.c d; // MARKER: R8 b0.c
|
||||||
public h a() { return null; }
|
public h a() { return null; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loaded 100 of 109 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user