File: C:/xampp/htdocs/cieclock/notyFragment.txt
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;
}
}