package com.door43.translationstudio.newui.publish;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.door43.translationstudio.R;
import com.door43.translationstudio.core.Library;
import com.door43.translationstudio.core.SourceTranslation;
import com.door43.translationstudio.core.TargetTranslation;
import com.door43.translationstudio.core.Translator;
import com.door43.translationstudio.AppContext;
import com.door43.translationstudio.newui.legal.LegalDocumentActivity;
import com.door43.widget.ViewUtil;
import java.security.InvalidParameterException;
/**
* Created by joel on 9/20/2015.
*/
public class ReviewFragment extends PublishStepFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_publish_review, container, false);
Bundle args = getArguments();
String targetTranslationId = args.getString(PublishActivity.EXTRA_TARGET_TRANSLATION_ID);
String sourceTranslationId = args.getString(ARG_SOURCE_TRANSLATION_ID);
if (targetTranslationId == null) {
throw new InvalidParameterException("a valid target translation id is required");
}
if (sourceTranslationId == null) {
throw new InvalidParameterException("a valid source translation id is required");
}
Library library = AppContext.getLibrary();
Translator translator = AppContext.getTranslator();
SourceTranslation sourceTranslation = library.getSourceTranslation(sourceTranslationId);
TargetTranslation targetTranslation = translator.getTargetTranslation(targetTranslationId);
// project title
TextView projectTitle = (TextView)rootView.findViewById(R.id.project_title);
String title = sourceTranslation.getProjectTitle() + " - " + targetTranslation.getTargetLanguageName();
projectTitle.setText(String.format(getResources().getString(R.string.project_title_complex), title));
// color icons
ImageView projectIcon = (ImageView)rootView.findViewById(R.id.project_icon);
ViewUtil.tintViewDrawable(projectIcon, getResources().getColor(R.color.green));
ImageView profileIcon = (ImageView)rootView.findViewById(R.id.profile_icon);
ViewUtil.tintViewDrawable(profileIcon, getResources().getColor(R.color.green));
ImageView licenseIcon = (ImageView)rootView.findViewById(R.id.license_icon);
ViewUtil.tintViewDrawable(licenseIcon, getResources().getColor(R.color.green));
ImageView guidelinesIcon = (ImageView)rootView.findViewById(R.id.guidelines_icon);
ViewUtil.tintViewDrawable(guidelinesIcon, getResources().getColor(R.color.green));
ImageView faithIcon = (ImageView)rootView.findViewById(R.id.faith_icon);
ViewUtil.tintViewDrawable(faithIcon, getResources().getColor(R.color.green));
populateReviewButton(rootView, R.id.license_review_button, R.string.license);
populateReviewButton(rootView, R.id.guidelines_review_button, R.string.translation_guidlines);
populateReviewButton(rootView, R.id.faith_review_button, R.string.statement_of_faith);
// next button
Button nextButton = (Button)rootView.findViewById(R.id.next_button);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getListener().nextStep();
}
});
return rootView;
}
/**
* Make a button respond to presses by popping up a legal notice.
*
* @param rootView The view from which to look up the button ID
* @param buttonId The ID of the button to set up as a listener
* @param stringResource The string to display in the dialog popped up
*/
private void populateReviewButton(View rootView, final int buttonId, final int stringResource) {
LinearLayout button = (LinearLayout)rootView.findViewById(buttonId);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), LegalDocumentActivity.class);
intent.putExtra(LegalDocumentActivity.ARG_RESOURCE, stringResource);
startActivity(intent);
}
});
}
}