package com.fastaccess.ui.modules.about; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.view.MenuItem; import android.view.View; import android.widget.Toast; import com.danielstone.materialaboutlibrary.ConvenienceBuilder; import com.danielstone.materialaboutlibrary.MaterialAboutActivity; import com.danielstone.materialaboutlibrary.items.MaterialAboutActionItem; import com.danielstone.materialaboutlibrary.model.MaterialAboutCard; import com.danielstone.materialaboutlibrary.model.MaterialAboutList; import com.fastaccess.R; import com.fastaccess.helper.ActivityHelper; import com.fastaccess.helper.AppHelper; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.PrefGetter; import com.fastaccess.ui.modules.repos.RepoPagerActivity; import com.fastaccess.ui.modules.repos.issues.create.CreateIssueActivity; import com.fastaccess.ui.modules.user.UserPagerActivity; import com.mikepenz.aboutlibraries.Libs; import com.mikepenz.aboutlibraries.LibsBuilder; import es.dmoral.toasty.Toasty; /** * Created by danielstone on 12 Mar 2017, 1:57 AM */ public class FastHubAboutActivity extends MaterialAboutActivity { View malRecyclerview; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { int themeMode = PrefGetter.getThemeType(getApplicationContext()); if (themeMode == PrefGetter.LIGHT) { setTheme(R.style.AppTheme_AboutActivity_Light); } else if (themeMode == PrefGetter.DARK) { setTheme(R.style.AppTheme_AboutActivity_Dark); } super.onCreate(savedInstanceState); malRecyclerview = findViewById(R.id.mal_recyclerview); } @Override protected MaterialAboutList getMaterialAboutList(Context context) { MaterialAboutCard.Builder appCardBuilder = new MaterialAboutCard.Builder(); try { appCardBuilder.addItem(ConvenienceBuilder.createVersionActionItem(context, ContextCompat.getDrawable(context, R.drawable.ic_issues), getString(R.string.version), false)); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } appCardBuilder.addItem(ConvenienceBuilder.createRateActionItem(context, ContextCompat.getDrawable(context, R.drawable.ic_star_filled), getString(R.string.rate_app), null)); appCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.report_issue) .subText(R.string.report_issue_here) .icon(ContextCompat.getDrawable(context, R.drawable.ic_bug)) .setOnClickListener(b -> CreateIssueActivity.startForResult(this, CreateIssueActivity.startForResult(this), malRecyclerview)) .build()); appCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.open_source_libs) .icon(R.drawable.ic_github) .setOnClickListener(b -> new LibsBuilder() .withActivityStyle(AppHelper.isNightMode(getResources()) ? Libs.ActivityStyle.DARK : Libs.ActivityStyle.LIGHT) .withAutoDetect(true) .withAboutIconShown(true) .withAboutVersionShown(true) .start(this)) .build()); MaterialAboutCard.Builder authorCardBuilder = new MaterialAboutCard.Builder(); authorCardBuilder.title(R.string.author); authorCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text("Kosh") .subText("k0shk0sh") .icon(ContextCompat.getDrawable(context, R.drawable.ic_profile)) .setOnClickListener(b -> UserPagerActivity.startActivity(context, "k0shk0sh")) .build()); authorCardBuilder.addItem(new MaterialAboutActionItem.Builder() .text(R.string.fork_github) .icon(ContextCompat.getDrawable(context, R.drawable.ic_github)) .setOnClickListener(b -> startActivity(RepoPagerActivity.createIntent(this, "FastHub", "k0shk0sh"))) .build()); authorCardBuilder.addItem(ConvenienceBuilder.createEmailItem(context, ContextCompat.getDrawable(context, R.drawable.ic_email), getString(R.string.send_email), true, getString(R.string.email_address), getString(R.string.question_concerning_fasthub))); MaterialAboutCard.Builder logoAuthor = new MaterialAboutCard.Builder(); logoAuthor.title(getString(R.string.logo_designer, "Kevin Aguilar")); logoAuthor.addItem(new MaterialAboutActionItem.Builder() .text(R.string.google_plus) .icon(ContextCompat.getDrawable(context, R.drawable.ic_profile)) .setOnClickListener(b -> ActivityHelper.startCustomTab(this, "https://plus.google.com/+KevinAguilarC")) .build()); logoAuthor.addItem(new MaterialAboutActionItem.Builder() .text(R.string.twitter) .icon(ContextCompat.getDrawable(context, R.drawable.ic_profile)) .setOnClickListener(b -> ActivityHelper.startCustomTab(this, "https://twitter.com/kevttob")) .build()); logoAuthor.addItem(new MaterialAboutActionItem.Builder() .text(R.string.website) .icon(ContextCompat.getDrawable(context, R.drawable.ic_brower)) .setOnClickListener(b -> ActivityHelper.startCustomTab(this, "https://www.221pixels.com/")) .build()); return new MaterialAboutList(appCardBuilder.build(), authorCardBuilder.build(), logoAuthor.build()); } @Override protected CharSequence getActivityTitle() { return getString(R.string.app_name); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && requestCode == BundleConstant.REQUEST_CODE) { Toasty.success(this, getString(R.string.thank_you_for_feedback), Toast.LENGTH_SHORT).show(); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); } return false;//override } }