change log dialog added

This commit is contained in:
h4h13 2018-08-06 16:17:35 +05:30
parent d870e3ce63
commit b07effd80b

View file

@ -1,13 +1,5 @@
package code.name.monkey.retromusic.ui.activities; package code.name.monkey.retromusic.ui.activities;
import static code.name.monkey.retromusic.Constants.APP_INSTAGRAM_LINK;
import static code.name.monkey.retromusic.Constants.APP_TWITTER_LINK;
import static code.name.monkey.retromusic.Constants.GITHUB_PROJECT;
import static code.name.monkey.retromusic.Constants.GOOGLE_PLUS_COMMUNITY;
import static code.name.monkey.retromusic.Constants.RATE_ON_GOOGLE_PLAY;
import static code.name.monkey.retromusic.Constants.TELEGRAM_CHANGE_LOG;
import static code.name.monkey.retromusic.Constants.TRANSLATE;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
@ -19,137 +11,166 @@ import android.support.v7.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.afollestad.materialdialogs.MaterialDialog;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import code.name.monkey.appthemehelper.ThemeStore; import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.retromusic.Constants; import code.name.monkey.retromusic.Constants;
import code.name.monkey.retromusic.R; import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.dialogs.ChangelogDialog;
import code.name.monkey.retromusic.ui.activities.base.AbsBaseActivity; import code.name.monkey.retromusic.ui.activities.base.AbsBaseActivity;
import code.name.monkey.retromusic.util.NavigationUtil; import code.name.monkey.retromusic.util.NavigationUtil;
import static code.name.monkey.retromusic.Constants.APP_INSTAGRAM_LINK;
import static code.name.monkey.retromusic.Constants.APP_TWITTER_LINK;
import static code.name.monkey.retromusic.Constants.GITHUB_PROJECT;
import static code.name.monkey.retromusic.Constants.GOOGLE_PLUS_COMMUNITY;
import static code.name.monkey.retromusic.Constants.RATE_ON_GOOGLE_PLAY;
import static code.name.monkey.retromusic.Constants.TELEGRAM_CHANGE_LOG;
import static code.name.monkey.retromusic.Constants.TRANSLATE;
/** /**
* @author Hemanth S (h4h13) * @author Hemanth S (h4h13)
*/ */
public class AboutActivity extends AbsBaseActivity { public class AboutActivity extends AbsBaseActivity {
@BindView(R.id.toolbar) @BindView(R.id.toolbar)
Toolbar toolbar; Toolbar toolbar;
@BindView(R.id.app_bar) @BindView(R.id.app_bar)
View background; View background;
@BindView(R.id.app_version) @BindView(R.id.app_version)
TextView appVersion; TextView appVersion;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about); setContentView(R.layout.activity_about);
ButterKnife.bind(this); ButterKnife.bind(this);
setStatusbarColorAuto(); setStatusbarColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
setTaskDescriptionColorAuto(); setTaskDescriptionColorAuto();
setLightNavigationBar(true); setLightNavigationBar(true);
setUpToolbar(); setUpToolbar();
appVersion.setText(getAppVersion()); appVersion.setText(getAppVersion());
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
} }
return super.onOptionsItemSelected(item);
}
private void setUpToolbar() { @Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int primaryColor = ThemeStore.primaryColor(this); if (item.getItemId() == android.R.id.home) {
toolbar.setBackgroundColor(primaryColor); onBackPressed();
setTitle(null); return true;
setSupportActionBar(toolbar); }
//noinspection ConstantConditions return super.onOptionsItemSelected(item);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
private void openUrl(String url) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
@OnClick({R.id.app_github, R.id.faq_link, R.id.app_google_plus, R.id.app_translation,
R.id.app_rate, R.id.app_share, R.id.instagram_link, R.id.twitter_link, R.id.changelog,
R.id.open_source, R.id.discord_link, R.id.telegram_link})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.faq_link:
openUrl(Constants.FAQ_LINK);
break;
case R.id.telegram_link:
openUrl(Constants.APP_TELEGRAM_LINK);
break;
case R.id.discord_link:
openUrl(Constants.DISCORD_LINK);
break;
case R.id.app_github:
openUrl(GITHUB_PROJECT);
break;
case R.id.app_google_plus:
openUrl(GOOGLE_PLUS_COMMUNITY);
break;
case R.id.app_translation:
openUrl(TRANSLATE);
break;
case R.id.app_rate:
openUrl(RATE_ON_GOOGLE_PLAY);
break;
case R.id.app_share:
shareApp();
break;
case R.id.donate_link:
NavigationUtil.goToSupportDevelopment(this);
break;
case R.id.instagram_link:
openUrl(APP_INSTAGRAM_LINK);
break;
case R.id.twitter_link:
openUrl(APP_TWITTER_LINK);
break;
case R.id.changelog:
openUrl(TELEGRAM_CHANGE_LOG);
break;
case R.id.open_source:
NavigationUtil.goToOpenSource(this);
break;
} }
}
private String getAppVersion() { private void setUpToolbar() {
try {
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
return packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "0.0.0";
}
}
private void shareApp() { int primaryColor = ThemeStore.primaryColor(this);
Intent shareIntent = ShareCompat.IntentBuilder.from(this) toolbar.setBackgroundColor(primaryColor);
.setType("songText/plain") setTitle(null);
.setText(String.format(getString(R.string.app_share), getPackageName())) setSupportActionBar(toolbar);
.getIntent(); //noinspection ConstantConditions
if (shareIntent.resolveActivity(getPackageManager()) != null) { getSupportActionBar().setDisplayHomeAsUpEnabled(true);
startActivity( }
Intent.createChooser(shareIntent, getResources().getText(R.string.action_share)));
private void openUrl(String url) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
@OnClick({R.id.app_github, R.id.faq_link, R.id.app_google_plus, R.id.app_translation,
R.id.app_rate, R.id.app_share, R.id.instagram_link, R.id.twitter_link, R.id.changelog,
R.id.open_source, R.id.discord_link, R.id.telegram_link})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.faq_link:
openUrl(Constants.FAQ_LINK);
break;
case R.id.telegram_link:
openUrl(Constants.APP_TELEGRAM_LINK);
break;
case R.id.discord_link:
openUrl(Constants.DISCORD_LINK);
break;
case R.id.app_github:
openUrl(GITHUB_PROJECT);
break;
case R.id.app_google_plus:
openUrl(GOOGLE_PLUS_COMMUNITY);
break;
case R.id.app_translation:
openUrl(TRANSLATE);
break;
case R.id.app_rate:
openUrl(RATE_ON_GOOGLE_PLAY);
break;
case R.id.app_share:
shareApp();
break;
case R.id.donate_link:
NavigationUtil.goToSupportDevelopment(this);
break;
case R.id.instagram_link:
openUrl(APP_INSTAGRAM_LINK);
break;
case R.id.twitter_link:
openUrl(APP_TWITTER_LINK);
break;
case R.id.changelog:
showChangeLogOptions();
break;
case R.id.open_source:
NavigationUtil.goToOpenSource(this);
break;
}
}
private void showChangeLogOptions() {
new MaterialDialog.Builder(this)
.items(new String[]{"Telegram Channel", "App"})
.itemsCallback(new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) {
if (position == 0) {
openUrl(TELEGRAM_CHANGE_LOG);
} else {
ChangelogDialog.create().show(getSupportFragmentManager(), "change-log");
}
}
})
.build()
.show();
}
private String getAppVersion() {
try {
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
return packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "0.0.0";
}
}
private void shareApp() {
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setType("songText/plain")
.setText(String.format(getString(R.string.app_share), getPackageName()))
.getIntent();
if (shareIntent.resolveActivity(getPackageManager()) != null) {
startActivity(
Intent.createChooser(shareIntent, getResources().getText(R.string.action_share)));
}
} }
}
} }