package com.diampark.test.Fragment;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.diampark.test.MainActivity;
import com.diampark.test.R;
import com.google.android.material.snackbar.Snackbar;
import com.hsalf.smilerating.SmileRating;

import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;

public class SettingsFragment extends PreferenceFragmentCompat {

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        setPreferencesFromResource(R.xml.setting_pref, rootKey);

        Preference prefVersion = findPreference("version");
        setOnclickVersion(prefVersion);

        Context mContext = this.getContext();
        MainActivity activity = ((MainActivity) mContext);

        Preference authorisation = findPreference("action_give_consent");
        if (authorisation != null)
            authorisation.setOnPreferenceClickListener(preference -> {
                activity.askSendPermission(mContext);
                return true;
            });
    }

    private void setOnclickVersion(Preference prefVersion) {
        if (prefVersion != null)
            prefVersion.setOnPreferenceClickListener(
                    arg0 -> {
                        Context c = getContext();
                        View v = getView();
                        if (c != null && v != null) {
                            try {
                                PackageInfo pInfo = c.getPackageManager().getPackageInfo(c.getPackageName(), 0);
                                String version = "Vous êtes a la version " + pInfo.versionName;
                                Snackbar.make(v, version, Snackbar.LENGTH_LONG).show();
                                return true;
                            } catch (PackageManager.NameNotFoundException e) {
                                e.printStackTrace();
                            }
                        }
                        return false;
                    });
    }
}
