package com.skulixlabs.iotcontrol; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; public class AboutFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_about, container, false); } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); view.findViewById(R.id.btnLicenses).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new OpenSourceLicensesDialog().newInstance().show(getChildFragmentManager(), "dialog_licenses"); } }); } public static class OpenSourceLicensesDialog extends DialogFragment { public static OpenSourceLicensesDialog newInstance() { OpenSourceLicensesDialog dialog = new OpenSourceLicensesDialog(); Bundle args = new Bundle(); dialog.setArguments(args); return dialog; } @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { WebView webView = new WebView(requireActivity()); webView.loadUrl("file:///android_asset/open_source_licenses.html"); return new AlertDialog.Builder(requireActivity()) .setTitle("Open Source Licenses") .setView(webView) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int i) { dialog.dismiss(); } }) .create(); } } }