package com.trevorhalvorson.devjobs.activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.trevorhalvorson.devjobs.R;
import com.trevorhalvorson.devjobs.fragment.JobWebViewFragment;
import com.trevorhalvorson.devjobs.model.Job;
public class JobDetailActivity extends AppCompatActivity {
private static final String ARG_JOB_KEY = "job_key";
private boolean mWebViewPref;
private String mJobUrl;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_job_detail);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
mWebViewPref = prefs.getBoolean(getString(R.string.wv_key), true);
Intent intent = getIntent();
Job job = (Job) intent.getSerializableExtra(ARG_JOB_KEY);
if (job != null) {
mJobUrl = job.getUrl();
}
Toolbar toolbar = (Toolbar) findViewById(R.id.detail_toolbar);
TextView descriptionTextView = (TextView) findViewById(R.id.description_text_view);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(job.getTitle());
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
descriptionTextView.setText(Html.fromHtml(job.getDescription()));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_detail, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
case R.id.menu_item_web:
if (!mWebViewPref) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(mJobUrl));
startActivity(intent);
} else {
Fragment jobWebViewFragment = JobWebViewFragment.newInstance(mJobUrl);
this.getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.replace(R.id.detail_coord_layout, jobWebViewFragment)
.commit();
}
return false;
case R.id.menu_item_share:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, mJobUrl);
shareIntent.setType("text/plain");
startActivity(shareIntent);
return false;
default:
return super.onOptionsItemSelected(item);
}
}
}