package com.github.andlyticsproject.about;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.AppCompatActivity;
import android.support.v4.app.FragmentTransaction;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import com.github.andlyticsproject.R;
public class AboutActivity extends AppCompatActivity implements
ActionBar.TabListener {
private static final String BUNDLE_KEY_TABINDEX = "tabindex";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_navigation);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab1 = getSupportActionBar().newTab();
tab1.setText(R.string.about_credits);
tab1.setTabListener(this);
Tab tab2 = getSupportActionBar().newTab();
tab2.setText(R.string.changelog_title);
tab2.setTabListener(this);
getSupportActionBar().addTab(tab1);
getSupportActionBar().addTab(tab2);
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt(BUNDLE_KEY_TABINDEX, getSupportActionBar()
.getSelectedTab().getPosition());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
getSupportActionBar().setSelectedNavigationItem(
savedInstanceState.getInt(BUNDLE_KEY_TABINDEX));
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction transaction) {
Log.i("Tab Reselected", tab.getText().toString());
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
if (0 == tab.getPosition()) {
AboutFragment fragment = new AboutFragment();
transaction.replace(android.R.id.content, fragment);
} else {
ChangelogFragment fragment = new ChangelogFragment();
transaction.replace(android.R.id.content, fragment);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
Log.i("Tab Unselected", tab.getText().toString());
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void onOpenGoogleplusClick(View view) {
openBrowser(this.getString(R.string.googleplus_url));
}
public void onOpenGithubClick(View view) {
openBrowser(this.getString(R.string.github_url));
}
public void onOpenFeedbackClick(View view) {
openBrowser(this.getString(R.string.github_issues_url));
}
public void onOpenFacebookClick(View view) {
openBrowser(this.getString(R.string.facebook_url));
}
public void onOpenTwitterClick(View view) {
openBrowser(this.getString(R.string.twitter_url));
}
private void openBrowser(String url) {
startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse(url)));
}
}