Skip to content
This repository has been archived by the owner on Aug 24, 2023. It is now read-only.

Commit

Permalink
Symphonica: Remove SquigglyView
Browse files Browse the repository at this point in the history
* Refactor comin'

Signed-off-by: Shinjo Akane <akane@akanework.org>
  • Loading branch information
AkaneTan committed Jul 31, 2023
1 parent 3b1f141 commit 8393347
Show file tree
Hide file tree
Showing 7 changed files with 0 additions and 320 deletions.
111 changes: 0 additions & 111 deletions app/src/main/java/org/akanework/symphonica/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ import org.akanework.symphonica.logic.util.sortAlbumListByTrackNumber
import org.akanework.symphonica.logic.util.thisSong
import org.akanework.symphonica.logic.util.userChangedPlayerStatus
import org.akanework.symphonica.ui.component.PlaylistBottomSheet
import org.akanework.symphonica.ui.component.SquigglyView
import org.akanework.symphonica.ui.fragment.HomeFragment
import org.akanework.symphonica.ui.fragment.LibraryFragment
import org.akanework.symphonica.ui.fragment.SettingsFragment
Expand Down Expand Up @@ -160,15 +159,12 @@ class MainActivity : AppCompatActivity() {
private lateinit var bottomSheetControlButton: MaterialButton
private lateinit var fullSheetControlButton: MaterialButton
private lateinit var fullSheetSlider: Slider
private lateinit var fullSheetSquigglyView: SquigglyView
private lateinit var fullSheetSquigglyViewFrame: FrameLayout
private lateinit var fullSheetTimerButton: MaterialButton
private lateinit var receiverPlay: SheetPlayReceiver
private lateinit var receiverStop: SheetStopReceiver
private lateinit var receiverPause: SheetPauseReceiver
private lateinit var receiverSeek: SheetSeekReceiver
private lateinit var receiverUpdate: SheetUpdateReceiver
private lateinit var receiverSquigglyUpdate: SheetSquigglyReceiver
private lateinit var playlistButton: MaterialButton
private lateinit var fragmentContainerView: FragmentContainerView
private lateinit var playerBottomSheetBehavior: BottomSheetBehavior<View>
Expand Down Expand Up @@ -210,7 +206,6 @@ class MainActivity : AppCompatActivity() {
isListShuffleEnabled = prefs.getBoolean("isListShuffleEnabled", true)
isEasterEggDiscovered = prefs.getBoolean("isEasterEggDiscovered", false)
isAkaneVisible = prefs.getBoolean("isAkaneVisible", false)
isSquigglyProgressBarEnabled = prefs.getBoolean("isSquigglyProgressBarEnabled", false)

// Go to dark mode if force dark mode is on.
if (isForceDarkModeEnabled) {
Expand All @@ -233,7 +228,6 @@ class MainActivity : AppCompatActivity() {
receiverStop = SheetStopReceiver()
receiverSeek = SheetSeekReceiver()
receiverUpdate = SheetUpdateReceiver()
receiverSquigglyUpdate = SheetSquigglyReceiver()

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
registerReceiver(
Expand Down Expand Up @@ -261,11 +255,6 @@ class MainActivity : AppCompatActivity() {
IntentFilter("internal.play_update"),
RECEIVER_NOT_EXPORTED
)
registerReceiver(
receiverSquigglyUpdate,
IntentFilter("internal.play_squiggly_update"),
RECEIVER_NOT_EXPORTED
)
} else {
registerReceiver(receiverPause, IntentFilter("internal.play_pause"))
registerReceiver(receiverPlay, IntentFilter("internal.play_start"))
Expand All @@ -275,10 +264,6 @@ class MainActivity : AppCompatActivity() {
receiverUpdate,
IntentFilter("internal.play_update")
)
registerReceiver(
receiverSquigglyUpdate,
IntentFilter("internal.play_squiggly_update")
)
}

// Flatten the decors to fit the system windows.
Expand Down Expand Up @@ -350,8 +335,6 @@ class MainActivity : AppCompatActivity() {
fullSheetShuffleButton = findViewById(R.id.sheet_random)
fullSheetControlButton = findViewById(R.id.sheet_mid_button)
fullSheetSlider = findViewById(R.id.sheet_slider)
fullSheetSquigglyView = findViewById(R.id.squiggly)
fullSheetSquigglyViewFrame = findViewById(R.id.squiggly_frame)
fullSheetDuration = findViewById(R.id.sheet_end_time)
fullSheetTimeStamp = findViewById(R.id.sheet_now_time)
fullSheetTimerButton = findViewById(R.id.full_timer)
Expand All @@ -367,11 +350,6 @@ class MainActivity : AppCompatActivity() {
window.attributes = params
}

checkIfSquigglyProgressBarEnabled()
if (isSquigglyProgressBarEnabled) {
trackSquigglyProgressBar()
}

// Initialize the animator. (Since we can't acquire fragmentContainer inside switchDrawer.)
animator = ValueAnimator.ofFloat(0f, NAVIGATION_VIEW_WIDTH.px.toFloat())
animator.addUpdateListener { animation ->
Expand Down Expand Up @@ -706,9 +684,6 @@ class MainActivity : AppCompatActivity() {
(value * PLAYER_SLIDER_VALUE_MULTIPLE).toInt().toString()
)
}
if (isSquigglyProgressBarEnabled) {
trackSquigglyProgressBar()
}
}
// Slider behavior ends here.

Expand Down Expand Up @@ -822,7 +797,6 @@ class MainActivity : AppCompatActivity() {
convertDurationToTimeStamp(musicPlayer!!.currentPosition.toString())
}

checkIfSquigglyProgressBarEnabled()
}

override fun onDestroy() {
Expand All @@ -834,7 +808,6 @@ class MainActivity : AppCompatActivity() {
unregisterReceiver(receiverPlay)
unregisterReceiver(receiverSeek)
unregisterReceiver(receiverUpdate)
unregisterReceiver(receiverSquigglyUpdate)
navigationView = null
fullSheetLoopButton = null
fullSheetShuffleButton = null
Expand Down Expand Up @@ -882,7 +855,6 @@ class MainActivity : AppCompatActivity() {
setPlaybackState(OPERATION_PLAY)
handler.postDelayed(sliderTask, SLIDER_UPDATE_INTERVAL)
}
checkIfSquigglyProgressBarEnabled()
}
}

Expand All @@ -903,7 +875,6 @@ class MainActivity : AppCompatActivity() {
fullSheetSlider.value = 0f
fullSheetTimeStamp.text = convertDurationToTimeStamp("0")
setPlaybackState(OPERATION_PAUSE)
checkIfSquigglyProgressBarEnabled()
if (musicPlayer != null) {
updateMetadata()
}
Expand Down Expand Up @@ -1018,87 +989,6 @@ class MainActivity : AppCompatActivity() {
}
}

/**
* This is the [SheetSquigglyReceiver]
* It receives a broadcast from [receiverSquigglyUpdate].
*/
inner class SheetSquigglyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
checkIfSquigglyProgressBarEnabled()
}
}


private fun checkIfSquigglyProgressBarEnabled() {
if (isSquigglyProgressBarEnabled && musicPlayer != null) {
// When player is active.
setSquigglyActive()
if (libraryViewModel.sessionSongPlayed <= 1 && !fullSheetSlider.isEnabled &&
!controllerViewModel.hasInitializedSquigglyView
) {
fullSheetSquigglyView.visibility = GONE
controllerViewModel.hasInitializedSquigglyView = true
}
} else if (isSquigglyProgressBarEnabled && fullSheetSlider.value != 0f && musicPlayer == null) {
// When stopped at last song in the list.
setSquigglyInactive()
trackSquigglyProgressBar()
} else if (isSquigglyProgressBarEnabled && fullSheetSlider.value == 0f && musicPlayer == null) {
// When no music is played and no progress is set.
setSquigglyGone()
} else if (isSquigglyProgressBarEnabled) {
trackSquigglyProgressBar()
} else {
setSquigglyGone()
}
}

private fun setSquigglyInactive() {
fullSheetSquigglyView.visibility = VISIBLE
fullSheetSlider.trackActiveTintList = ColorStateList.valueOf(
resources.getColor(android.R.color.transparent, theme)
)
}

private fun setSquigglyActive() {
fullSheetSquigglyView.visibility = VISIBLE
fullSheetSquigglyView.paint.color = MaterialColors.getColor(
fullSheetSquigglyView,
com.google.android.material.R.attr.colorPrimary
)
fullSheetSlider.trackActiveTintList = ColorStateList.valueOf(
resources.getColor(android.R.color.transparent, theme)
)
}

private fun setSquigglyGone() {
fullSheetSquigglyView.visibility = GONE
fullSheetSlider.trackActiveTintList = ColorStateList.valueOf(
MaterialColors.getColor(
fullSheetSlider,
com.google.android.material.R.attr.colorPrimary
)
)
}

private fun trackSquigglyProgressBar() {
val params = fullSheetSquigglyView.layoutParams as? ViewGroup.MarginLayoutParams
params?.let {
val marginVal = (fullSheetSquigglyViewFrame.width *
(fullSheetSlider.valueTo - fullSheetSlider.value) / fullSheetSlider.valueTo).toInt()
if (marginVal != 0) {
it.marginEnd = marginVal
controllerViewModel.squigglyViewMargin = marginVal
} else {
it.marginEnd = controllerViewModel.squigglyViewMargin
}
if (controllerViewModel.squigglyViewMargin != 0) {
fullSheetSquigglyView.visibility = VISIBLE
}
fullSheetSquigglyView.layoutParams = it
}
}

companion object {
var currentMusicDrawable: Bitmap? = null

Expand Down Expand Up @@ -1136,7 +1026,6 @@ class MainActivity : AppCompatActivity() {
var isListShuffleEnabled: Boolean = true
var isEasterEggDiscovered: Boolean = false
var isAkaneVisible: Boolean = false
var isSquigglyProgressBarEnabled: Boolean = false

// This is the core of Symphonica, the music player.
var musicPlayer: MediaPlayer? = null
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ import org.akanework.symphonica.MainActivity.Companion.isForceLoadingEnabled
import org.akanework.symphonica.MainActivity.Companion.isGlideCacheEnabled
import org.akanework.symphonica.MainActivity.Companion.isLibraryShuffleButtonEnabled
import org.akanework.symphonica.MainActivity.Companion.isListShuffleEnabled
import org.akanework.symphonica.MainActivity.Companion.isSquigglyProgressBarEnabled
import org.akanework.symphonica.MainActivity.Companion.switchDrawer
import org.akanework.symphonica.MainActivity.Companion.switchNavigationViewIndex
import org.akanework.symphonica.R
Expand Down Expand Up @@ -81,8 +80,6 @@ class SettingsFragment : Fragment() {
rootView.findViewById<MaterialSwitch>(R.id.library_shuffle_button_switch)
val enableListShuffleSwitch =
rootView.findViewById<MaterialSwitch>(R.id.enable_list_shuffle)
val enableSquigglyProgressbarSwitch =
rootView.findViewById<MaterialSwitch>(R.id.enable_squiggly_progress_bar)

val contributorString = getString(R.string.settings_contributors_content) + ' ' +
getString(R.string.settings_contributors_content_alphabet)
Expand All @@ -95,7 +92,6 @@ class SettingsFragment : Fragment() {
enableListShuffleSwitch.isChecked = isListShuffleEnabled
akaneDisplaySwitch.isChecked = isAkaneVisible
libraryShuffleButtonSwitch.isChecked = isLibraryShuffleButtonEnabled
enableSquigglyProgressbarSwitch.isChecked = isSquigglyProgressBarEnabled

if (isEasterEggDiscovered) {
akanePreference.visibility = VISIBLE
Expand Down Expand Up @@ -178,23 +174,6 @@ class SettingsFragment : Fragment() {
}
}

enableSquigglyProgressbarSwitch.setOnCheckedChangeListener { _, isChecked ->
val editor =
SymphonicaApplication.context.getSharedPreferences("data", Context.MODE_PRIVATE)
.edit()
isSquigglyProgressBarEnabled = if (isChecked) {
editor.putBoolean("isSquigglyProgressBarEnabled", true)
editor.apply()
broadcastSquigglyUpdate()
true
} else {
editor.putBoolean("isSquigglyProgressBarEnabled", false)
editor.apply()
broadcastSquigglyUpdate()
false
}
}

akaneDisplaySwitch.setOnCheckedChangeListener { _, isChecked ->
val editor =
SymphonicaApplication.context.getSharedPreferences("data", Context.MODE_PRIVATE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ class ControllerViewModel : ViewModel() {
var isSendingRequest = false
var isBottomSheetOpen = false
var loopButtonStatus = 0
var squigglyViewMargin = 0
var shuffleState = false
var hasInitializedSquigglyView = false

companion object {
const val NOT_IN_LOOP = 0
Expand Down
Loading

0 comments on commit 8393347

Please sign in to comment.