package iShamrock.Postal.activity.abandomed;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.*;
import iShamrock.Postal.R;
import iShamrock.Postal.activity.publishers.PEditor;
import iShamrock.Postal.commons.utils.Views;
import iShamrock.Postal.foldablelayout.UnfoldableView;
import iShamrock.Postal.foldablelayout.shading.GlanceFoldShading;
import iShamrock.Postal.items.Painting;
import iShamrock.Postal.items.PaintingsAdapter;
/**
* Created by lifengshuang on 11/27/14.
*/
public class Timeline_prev extends BaseActivity {
private ListView mListView;
private View mListTouchInterceptor;
private View mDetailsLayout;
private UnfoldableView mUnfoldableView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timeline_prev);
getActionBar().setDisplayHomeAsUpEnabled(false);
getActionBar().setTitle("Postal Box");
initUnfoldableDetailsActivity();
initLeftDrawer();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem add = menu.add("");
add
.setIcon(R.drawable.plus)
.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
Intent intent = new Intent();
intent.setClass(Timeline_prev.this, PEditor.class);
startActivity(intent);
finish();
return false;
}
})
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return true;
}
private void initUnfoldableDetailsActivity(){
mListView = Views.find(this, R.id.list_view);
mListView.setAdapter(new PaintingsAdapter(this));
mListTouchInterceptor = Views.find(this, R.id.touch_interceptor_view);
mListTouchInterceptor.setClickable(false);
mDetailsLayout = Views.find(this, R.id.details_layout);
mDetailsLayout.setVisibility(View.INVISIBLE);
mUnfoldableView = Views.find(this, R.id.unfoldable_view);
Bitmap glance = BitmapFactory.decodeResource(getResources(), R.drawable.unfold_glance);
mUnfoldableView.setFoldShading(new GlanceFoldShading(this, glance));
mUnfoldableView.setOnFoldingListener(new UnfoldableView.SimpleFoldingListener() {
@Override
public void onUnfolding(UnfoldableView unfoldableView) {
mListTouchInterceptor.setClickable(true);
mDetailsLayout.setVisibility(View.VISIBLE);
}
@Override
public void onUnfolded(UnfoldableView unfoldableView) {
mListTouchInterceptor.setClickable(false);
}
@Override
public void onFoldingBack(UnfoldableView unfoldableView) {
mListTouchInterceptor.setClickable(true);
}
@Override
public void onFoldedBack(UnfoldableView unfoldableView) {
mListTouchInterceptor.setClickable(false);
mDetailsLayout.setVisibility(View.INVISIBLE);
}
});
}
@Override
public void onBackPressed() {
if (mUnfoldableView != null && (mUnfoldableView.isUnfolded() || mUnfoldableView.isUnfolding())) {
mUnfoldableView.foldBack();
} else {
super.onBackPressed();
}
}
public void openDetails(View coverView, Painting painting) {
ImageView image = Views.find(mDetailsLayout, R.id.details_image);
TextView title = Views.find(mDetailsLayout, R.id.details_title);
TextView description = Views.find(mDetailsLayout, R.id.details_text);
/* if (painting.isLocal()) {
image.setImageBitmap(BitmapFactory.decodeResource(getResources(), painting.getImageId()));
}
else {
try {
image.setImageBitmap(MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(painting.getUri())));
} catch (IOException e) {
e.printStackTrace();
}
}
title.setText(painting.getTitle());*/
/* SpannableBuilder builder = new SpannableBuilder(this);
builder
.createStyle().setFont(Typeface.DEFAULT_BOLD).apply()
.append(R.string.year).append(": ")
.clearStyle()
.append(painting.getYear()).append("\n")
.createStyle().setFont(Typeface.DEFAULT_BOLD).apply()
.append(R.string.location).append(": ")
.clearStyle()
.append(painting.getLocation());*/
/*
description.setText(painting.getContent() + "\n" + painting.getYear());
*/
mUnfoldableView.unfold(coverView, mDetailsLayout);
}
/* private void initFoldableListLayout(){
FoldableListLayout foldableListLayout = (FoldableListLayout) findViewById(R.id.listView_timeline);
foldableListLayout.setAdapter(new PaintingsAdapter(this));
}*/
private void initLeftDrawer() {
String[] titles = new String[]{"Postal Box", "In the map", "Edit Postal", "My Posts"};
ListView drawerList = (ListView) findViewById(R.id.left_drawer_timeline);
DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout_timeline);
drawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, titles));
drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
drawerItemOnClickAction(i);
}
});
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
invalidateOptionsMenu();
}
};
drawerLayout.setDrawerListener(toggle);
}
private void drawerItemOnClickAction(int i) {
if (i == 1) {
Intent intent = new Intent();
intent.setClass(this, PostalNearby.class);
startActivity(intent);
finish();
} else if (i == 2) {
Intent intent = new Intent();
intent.setClass(this, PEditor.class);
startActivity(intent);
finish();
} else if (i == 3) {
Intent intent = new Intent();
intent.setClass(this, FoldableListActivity.class);
startActivity(intent);
finish();
}
}
}