package org.solovyev.android.calculator.feedback; import android.app.Application; import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.util.Log; import org.solovyev.android.calculator.R; import javax.inject.Inject; import javax.inject.Singleton; @Singleton public class FeedbackReporter { private final Application context; @Inject public FeedbackReporter(Application context) { this.context = context; } public void report() { final Intent intent = new Intent(Intent.ACTION_SEND); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"se.solovyev@gmail.com"}); final String version = getVersion(); intent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.cpp_app_name) + " " + version + " // " + Build.MANUFACTURER + " " + Build.MODEL + " (" + Build.DEVICE + ") " + Build.VERSION.SDK_INT); intent.setType("plain/html"); try { context.startActivity(intent); } catch (ActivityNotFoundException e) { Log.e("FeedbackReporter", e.getMessage(), e); } } private String getVersion() { try { return context.getPackageManager().getPackageInfo(context.getApplicationInfo().packageName, 0).versionName; } catch (PackageManager.NameNotFoundException e) { return "x.x.x"; } } }