package shts.jp.android.nogifeed.fragments;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.ShareCompat;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.text.method.MovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import shts.jp.android.nogifeed.R;
public class RequestFragment extends Fragment {
private static final String TAG = RequestFragment.class.getSimpleName();
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_request, null);
final TextView tv = (TextView) view.findViewById(R.id.link);
MovementMethod movementMethod = LinkMovementMethod.getInstance();
tv.setMovementMethod(movementMethod);
final String link = "お急ぎの場合、<a href=\"https://twitter.com/nogifeed\">Twitter @nogifeed </a>へリプライしていただくと返信が早いかもしれません";
tv.setText(Html.fromHtml(link));
final EditText editText = (EditText) view.findViewById(R.id.req_editor);
final Button button = (Button) view.findViewById(R.id.req_send_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(createSendRequestIntent(editText.getText().toString()));
}
});
final Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
toolbar.setTitle(R.string.nav_menu_request);
toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().finish();
}
});
return view;
}
private Intent createSendRequestIntent(String message) {
return ShareCompat.IntentBuilder.from(getActivity())
.addEmailTo("nogifeed@gmail.com")
.setSubject("NogiFeed - フィードバック")
.setText(getAppVersion() + message)
.setType("text/plain")
.getIntent();
}
private String getAppVersion() {
final Context context = getActivity();
String appPackageName = context.getPackageName();
try {
PackageManager pm = context.getPackageManager();
PackageInfo p = pm.getPackageInfo(appPackageName, 0);
String appVersionName = p.versionName;
int appVersionCode = p.versionCode;
final StringBuilder builder = new StringBuilder();
builder.append("アプリ情報").append("\n");
builder.append("=========================").append("\n");
builder.append("メッセージ").append("\n");
builder.append("appPackageName=").append(appPackageName).append("\n");
builder.append("appVersion=").append(appVersionName)
.append(" (").append(appVersionCode).append(")\n");
return builder.toString();
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalStateException("never reached", e);
}
}
}