Skip to content

Instantly share code, notes, and snippets.

View furkanaskin's full-sized avatar

faskN furkanaskin

View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:startDestination="@id/fragmentA">
<fragment
android:id="@+id/fragmentA"
android:name="com.kukapps.app.turbeapp.ui.main.splash.FragmentA"
android:label="fragment_a"
class MainActivity : BaseActivity() {
/*
...
*/
override fun onBackPressed() {
when (NavHostFragment.findNavController(container_fragment).currentDestination?.id) {
R.id.coinsFragment -> {
val builder = AlertDialog.Builder(this@MainActivity)
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:startDestination="@id/splashFragment">
<fragment
android:id="@+id/splashFragment"
android:name="com.example.navigationsample.fragments.SplashFragment"
android:label="SplashFragment"
class CatalogueViewModel : ViewModel() {
// KÖTÜ: Erişilebilir MutableLiveData
val products = MutableLiveData<Products>()
// İYİ: Getter ile Encapsulate edilmiş MutableLiveData
private val promotions = MutableLiveData<Promotions>()
fun getPromotions(): LiveData<Promotions> = promotions
override fun init() {
super.init()
// Delete previous episodes.
doAsync {
viewModel.db?.episodesDao()?.deleteAllEpisodes()
}
if (!isStateSaved)
getData()
class Resource<T> constructor(val status: Status, val data: T?, val error: Throwable? = null) {
companion object {
fun <T> success(@NonNull data: T): Resource<T> {
return Resource(Status.SUCCESS, data)
}
fun <T> error(throwable: Throwable): Resource<T> {
return Resource(status = Status.ERROR, data = null, error = throwable)
private fun initBestPodcasts() {
viewModel.getBestPodcasts(viewModel.currentLocation, 0)
viewModel.bestPodcastsLiveData.observe(
viewLifecycleOwner,
Observer<Resource<BestPodcasts>> {
showTitles()
(mBinding.recyclerViewBestPodcasts.adapter as? BestPodcastsAdapter)?.submitList(it.data?.podcasts)
}
class HomeViewModel @Inject constructor(api: PodpocketAPI, appDatabase: AppDatabase) : BaseViewModel(api, appDatabase) {
private val _bestPodcastsLiveData = MutableLiveData<Resource<BestPodcasts>>()
val bestPodcastsLiveData: LiveData<Resource<BestPodcasts>> get() = _bestPodcastsLiveData
fun getBestPodcasts(region: String, explicitContent: Int) {
baseApi?.let { baseApi ->
baseApi.getBestPodcasts(region, explicitContent)
.subscribeOn(Schedulers.io())
.map { Resource.success(it) }
public void doSomething() {
System.out.print("doSomething start");
System.out.print("doSomethingElse");
}
System.out.println("before");
System.out.println("do something here");
System.out.println("after");