package
kr.re.nfrdi.search;
import
java.io.IOException;
import
kr.co.rinasoft.support.utils.TypefaceFactory;
import
kr.re.nfrdi.db.AreaInfo;
import
kr.re.nfrdi.db.DBmanager;
import
kr.re.nfrdi.temperature.MainActivity;
import
kr.re.nfrdi.temperature.PageFragment;
import
kr.re.nfrdi.temperature.R;
import
kr.re.nfrdi.temperature.TemperatureImageDialogFragment;
import
kr.re.nfrdi.util.FavAlertFactory;
import
kr.re.nfrdi.util.Fonts;
import
android.content.DialogInterface;
import
android.content.Intent;
import
android.content.res.Resources;
import
android.graphics.drawable.ColorDrawable;
import
android.os.Bundle;
import
android.support.v4.app.FragmentTransaction;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.Button;
import
android.widget.TextView;
import
com.actionbarsherlock.app.SherlockFragmentActivity;
import
com.actionbarsherlock.view.Menu;
import
com.actionbarsherlock.view.MenuItem;
public
class
AreaActivity
extends
SherlockFragmentActivity {
public
static
final
String EXTRA_AREA_INFO =
"EXTRA_AREA_INFO"
;
public
static
final
String EXTRA_CODE =
"EXTRA_CODE"
;
private
Button imageBt;
private
AreaInfo mAreaInfo;
private
String mCode;
private
OnFavClicked mOnFavClicked =
new
OnFavClicked();
private
DBmanager mDb;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_area);
try
{
mDb =
new
DBmanager(
this
);
}
catch
(IOException e){
System.out.println(
"io예외"
);
}
Intent intent = getIntent();
if
(intent !=
null
){
mAreaInfo = intent.getParcelableExtra(EXTRA_AREA_INFO);
mCode = intent.getStringExtra(EXTRA_CODE);
if
(mCode ==
null
&& mAreaInfo !=
null
){
mCode = mAreaInfo.getCode();
}
}
getSupportActionBar().setBackgroundDrawable(
new
ColorDrawable(getResources().getColor(R.color.navi_color)));
if
(mAreaInfo !=
null
) getSupportActionBar().setDisplayHomeAsUpEnabled(
true
);
int
actionBarTitle = Resources.getSystem().getIdentifier(
"action_bar_title"
,
"id"
,
"android"
);
TextView actionBarTitleView = (TextView) getWindow().findViewById(actionBarTitle);
actionBarTitleView.setTypeface(TypefaceFactory.getTypeFace(
this
, Fonts.NANUM_B));
imageBt = (Button) findViewById(R.id.imageButton);
imageBt.setTypeface(TypefaceFactory.getTypeFace(
this
, Fonts.NANUM_B));
imageBt.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
TemperatureImageDialogFragment dialog =
new
TemperatureImageDialogFragment();
dialog.show(getSupportFragmentManager(), TemperatureImageDialogFragment.TAG);
}
});
PageFragment page = PageFragment.create(
0
,
0
, mCode);
FragmentTransaction t = getSupportFragmentManager().beginTransaction();
t.replace(R.id.container, page);
t.commit();
page.startPage();
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
if
(mAreaInfo !=
null
){
getSupportMenuInflater().inflate(R.menu.search_menu, menu);
menu.findItem(R.id.action_fav).setIcon(mAreaInfo.isFavorite() ? R.drawable.search_fav_on : R.drawable.search_fav_off);
}
return
super
.onCreateOptionsMenu(menu);
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
int
id = item.getItemId();
if
(id == android.R.id.home){
finish();
return
true
;
}
else
if
(id == R.id.action_home){
Intent intent =
new
Intent(
this
, MainActivity.
class
);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
return
true
;
}
else
if
(id == R.id.action_fav){
FavAlertFactory.settingFavorite(
this
, mDb, mAreaInfo, mOnFavClicked);
return
true
;
}
return
super
.onOptionsItemSelected(item);
}
private
final
class
OnFavClicked
implements
DialogInterface.OnClickListener {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
setResult(RESULT_OK);
finish();
}
}
}