package com.example.pbnspectro.ui.notifications; import static com.example.pbnspectro.service.DayColor.getDayHex; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import com.example.pbnspectro.databinding.FragmentNotificationsBinding; public class NotificationsFragment extends Fragment { private FragmentNotificationsBinding binding; private NotificationsViewModel mNotificationsViewModel; public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mNotificationsViewModel = new ViewModelProvider(this).get(NotificationsViewModel.class); binding = FragmentNotificationsBinding.inflate(inflater, container, false); View root = binding.getRoot(); // binding an instance of the class FragmentDashboardBinding final TextView textView = binding.textNotifications; // Observes the LiveData object for data changes mNotificationsViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); mNotificationsViewModel.getDayColor().observe(getViewLifecycleOwner(), textView::setBackgroundColor); init(); return root; } private final Handler mHandler = new Handler(Looper.getMainLooper()); private void init() { Runnable runnable = new Runnable() { @Override public void run() { mHandler.postDelayed(this, 1000); // Schedule again after 1 second final String[] dayHex = getDayHex(); System.out.println("dayHex : " + dayHex[0]); mNotificationsViewModel.setDayColor(Integer.parseInt(dayHex[0])); } }; mHandler.post(runnable); // Start the runnable } @Override public void onDestroyView() { super.onDestroyView(); binding = null; } }