package com.door43.translationstudio.newui.legal;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.door43.translationstudio.R;
/**
* Created by joel on 10/23/2015.
*/
public class LegalDocumentDialog extends DialogFragment {
private ScrollView mScrollView;
private DialogInterface.OnDismissListener mDismissListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int style = DialogFragment.STYLE_NO_TITLE, theme = 0;
setStyle(style, theme);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
int resourceId = 0;
if(args != null) {
resourceId = args.getInt(LegalDocumentActivity.ARG_RESOURCE, 0);
}
if(resourceId == 0) {
dismiss();
}
// inflate the views
View mView = inflater.inflate(R.layout.dialog_license, container, false);
TextView mLicenseText = (TextView) mView.findViewById(R.id.license_text);
mScrollView = (ScrollView)mView.findViewById(R.id.scrollView);
Button mDismissButton = (Button)mView.findViewById(R.id.dismiss_license_btn);
// validate the arguments
if(resourceId == 0) {
dismiss();
} else {
// load the string
String licenseString = getResources().getString(resourceId);
mLicenseText.setText(Html.fromHtml(licenseString));
mLicenseText.setMovementMethod(LinkMovementMethod.getInstance());
}
// enable button
mDismissButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LegalDocumentDialog.this.dismiss();
}
});
return mView;
}
@Override
public void onStart() {
super.onStart();
// safety check
if (getDialog() == null) {
return;
}
getDialog().getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
// scroll to the top
mScrollView.smoothScrollTo(0, 0);
}
@Override
public void onDismiss(DialogInterface dialogInterface) {
if(mDismissListener != null) {
mDismissListener.onDismiss(dialogInterface);
}
super.onDismiss(dialogInterface);
}
public void setOnDismissListener(DialogInterface.OnDismissListener listener) {
mDismissListener = listener;
}
}