AdvertisementViewModel.java 1.8 KB
package com.polysoft.nafmii.viewmodel;

import android.app.Activity;
import android.text.TextUtils;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStoreOwner;

import com.polysoft.nafmii.utils.TimerUtils;
import com.whaty.nafmii.BuildConfig;

public class AdvertisementViewModel extends ViewModel {

    private MutableLiveData<LiveData> data = new MutableLiveData<>();
    private final LifecycleOwner owner;

    public static AdvertisementViewModel newInstance(FragmentActivity owner) {
        ViewModelProvider.Factory factory = new ViewModelProvider.Factory() {
            @NonNull
            @Override
            public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
                return (T) new AdvertisementViewModel(owner);
            }
        };

        return new ViewModelProvider(owner, factory).get(AdvertisementViewModel.class);
    }

    AdvertisementViewModel(LifecycleOwner owner) {
        this.owner = owner;
        System.out.println("=====================>>>>>AdvertisementViewModel");

        TimerUtils.setTimeOut(msg -> {
            this.data.setValue(new LiveData());
            return false;
        }, 1000);
    }

    public void observe(Observer<LiveData> observer) {
        this.data.observe(this.owner, observer);
    }


    public static class LiveData {
        public String json;

        public boolean empty() {
            if (BuildConfig.DEBUG) {
                return true;
            }
            return TextUtils.isEmpty(json);
        }
    }

}