|
|
@ -4,50 +4,39 @@ import android.os.Bundle |
|
|
import android.view.LayoutInflater |
|
|
import android.view.LayoutInflater |
|
|
import android.view.View |
|
|
import android.view.View |
|
|
import android.view.ViewGroup |
|
|
import android.view.ViewGroup |
|
|
import android.widget.CheckBox |
|
|
|
|
|
import android.widget.Switch |
|
|
|
|
|
import androidx.fragment.app.Fragment |
|
|
import androidx.fragment.app.Fragment |
|
|
import org.videolan.vlc.R |
|
|
import androidx.fragment.app.activityViewModels |
|
|
|
|
|
import kotlinx.android.synthetic.main.onboarding_scanning.* |
|
|
import org.videolan.tools.KEY_MEDIALIBRARY_SCAN |
|
|
import org.videolan.tools.KEY_MEDIALIBRARY_SCAN |
|
|
import org.videolan.tools.ML_SCAN_OFF |
|
|
import org.videolan.tools.ML_SCAN_OFF |
|
|
import org.videolan.tools.ML_SCAN_ON |
|
|
import org.videolan.tools.ML_SCAN_ON |
|
|
import org.videolan.tools.Settings |
|
|
import org.videolan.tools.Settings |
|
|
|
|
|
import org.videolan.vlc.R |
|
|
|
|
|
|
|
|
class OnboardingScanningFragment : Fragment() { |
|
|
class OnboardingScanningFragment : Fragment() { |
|
|
private lateinit var scanningFolderCheckbox: CheckBox |
|
|
|
|
|
private lateinit var scanningEnableSwitch: Switch |
|
|
|
|
|
lateinit var onScanningCustomizeChangedListener: IOnScanningCustomizeChangedListener |
|
|
lateinit var onScanningCustomizeChangedListener: IOnScanningCustomizeChangedListener |
|
|
private lateinit var viewModel: OnboardingViewModel |
|
|
private val viewModel: OnboardingViewModel by activityViewModels() |
|
|
|
|
|
private val preferences by lazy { Settings.getInstance(requireActivity()) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) { |
|
|
|
|
|
super.onCreate(savedInstanceState) |
|
|
|
|
|
viewModel = getOnboardingModel() |
|
|
|
|
|
} |
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
return inflater.inflate(R.layout.onboarding_scanning, container, false) |
|
|
return inflater.inflate(R.layout.onboarding_scanning, container, false) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
|
|
scanningFolderCheckbox = view.findViewById(R.id.scanningFolderCheckbox) |
|
|
|
|
|
scanningEnableSwitch = view.findViewById(R.id.scanningEnableSwitch) |
|
|
|
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) { |
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) { |
|
|
super.onActivityCreated(savedInstanceState) |
|
|
super.onActivityCreated(savedInstanceState) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scanningEnableSwitch.setOnCheckedChangeListener { _, isChecked -> |
|
|
scanningEnableSwitch.setOnCheckedChangeListener { _, isChecked -> |
|
|
scanningFolderCheckbox.visibility = if (isChecked) View.VISIBLE else View.GONE |
|
|
scanningFolderCheckbox.visibility = if (isChecked) View.VISIBLE else View.GONE |
|
|
val prefs = Settings.getInstance(requireActivity()) |
|
|
autoScanningCheckbox.isChecked = isChecked |
|
|
prefs.edit().putInt(KEY_MEDIALIBRARY_SCAN, if (isChecked) ML_SCAN_ON else ML_SCAN_OFF).apply() |
|
|
preferences.edit().putInt(KEY_MEDIALIBRARY_SCAN, if (isChecked) ML_SCAN_ON else ML_SCAN_OFF).apply() |
|
|
viewModel.scanStorages = isChecked |
|
|
viewModel.scanStorages = isChecked |
|
|
scanningFolderCheckbox.isChecked = false |
|
|
scanningFolderCheckbox.isChecked = false |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
autoScanningCheckbox.setOnCheckedChangeListener { _, isChecked -> |
|
|
|
|
|
preferences.edit().putBoolean("auto_rescan", isChecked).apply() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
onScanningCustomizeChangedListener = requireActivity() as IOnScanningCustomizeChangedListener |
|
|
onScanningCustomizeChangedListener = requireActivity() as IOnScanningCustomizeChangedListener |
|
|
|
|
|
|
|
|
scanningFolderCheckbox.isChecked = viewModel.customizeMediaFolders |
|
|
scanningFolderCheckbox.isChecked = viewModel.customizeMediaFolders |
|
|
@ -59,12 +48,9 @@ class OnboardingScanningFragment : Fragment() { |
|
|
if (::onScanningCustomizeChangedListener.isInitialized) { |
|
|
if (::onScanningCustomizeChangedListener.isInitialized) { |
|
|
onScanningCustomizeChangedListener.onCustomizedChanged(isChecked) |
|
|
onScanningCustomizeChangedListener.onCustomizedChanged(isChecked) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
companion object { |
|
|
companion object { |
|
|
fun newInstance(): OnboardingScanningFragment { |
|
|
fun newInstance(): OnboardingScanningFragment { |
|
|
return OnboardingScanningFragment() |
|
|
return OnboardingScanningFragment() |
|
|
@ -74,4 +60,4 @@ class OnboardingScanningFragment : Fragment() { |
|
|
|
|
|
|
|
|
interface IOnScanningCustomizeChangedListener { |
|
|
interface IOnScanningCustomizeChangedListener { |
|
|
fun onCustomizedChanged(customizeEnabled: Boolean) |
|
|
fun onCustomizedChanged(customizeEnabled: Boolean) |
|
|
} |
|
|
} |
|
|
|