package com.michaldabski.panoramio.about;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.michaldabski.panoramio.BuildConfig;
import com.michaldabski.panoramio.R;
/**
* Created by Michal on 14-Sep-14.
*/
public class AboutActivity extends Activity implements AdapterView.OnItemClickListener
{
private static final String PLAYSTORE_URL = "https://play.google.com/store/apps/developer?id=mick88";
private static final String GOOGLE_PLUS_URL = "https://plus.google.com/u/0/+MichalDabski";
private static final String WEBSITE_URL = "http://www.michaldabski.com/";
private static final String GITHUB_URL = "https://github.com/mick88";
private static final String SHARE_URL = "https://play.google.com/store/apps/details?id=com.mick88.dittimetable";
private final AboutItem[] items = new AboutItem[]{
new AboutItem()
{
@Override
public void setText(TextView textView)
{
textView.setText(R.string.share_app);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_share, 0, 0, 0);
}
@Override
public void onClicked(Activity activity)
{
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, SHARE_URL);
shareIntent.putExtra(Intent.EXTRA_SUBJECT,
getString(R.string.share_attach_text));
activity.startActivity(shareIntent);
}
},
new AboutLink(R.string.playstore_link_title, PLAYSTORE_URL, R.drawable.ic_playstore),
new AboutLink(R.string.visit_website, WEBSITE_URL, R.drawable.ic_website),
new AboutLink(R.string.google_plus, GOOGLE_PLUS_URL, R.drawable.ic_google_plus),
new AboutLink(R.string.github, GITHUB_URL, R.drawable.ic_github),
};
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
setupActionbar(getActionBar());
setupList((ListView) findViewById(android.R.id.list));
}
void setupActionbar(ActionBar actionBar)
{
if (actionBar == null) return;
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
}
void setupList(ListView listView)
{
listView.setOnItemClickListener(this);
addHeaderView(listView);
ListAdapter adapter = new AboutItemAdapter(this, items);
listView.setAdapter(adapter);
}
void addHeaderView(ListView listView)
{
View headerView = getLayoutInflater().inflate(R.layout.about_header, listView, false);
listView.addHeaderView(headerView, null, false);
TextView tvVersion = (TextView) headerView.findViewById(R.id.tvAppVersion);
tvVersion.setText(getString(R.string.version_s, BuildConfig.VERSION_NAME));
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Object item = parent.getItemAtPosition(position);
if (item instanceof AboutItem)
((AboutItem) item).onClicked(this);
}
}