package com.cjj.nices.activity;
import static com.norbsoft.typefacehelper.TypefaceHelper.typeface;
import org.litepal.crud.DataSupport;
import uk.me.lewisdeane.ldialogs.CustomDialog;
import net.youmi.android.AdManager;
import net.youmi.android.diy.DiyManager;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Toast;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
import com.cjj.nices.callback.NavigationDrawerCallbacks;
import com.cjj.nices.db.FavoriteTableModel;
import com.cjj.nices.fragment.FavoriteFragment;
import com.cjj.nices.fragment.HomeFragment;
import com.cjj.nices.fragment.MessageFragment;
import com.cjj.nices.fragment.NavigationDrawerFragment;
import com.cjj.nices.fragment.SupportFragment;
import com.cjj.nices.model.NicesApplication;
import com.norbsoft.typefacehelper.ActionBarHelper;
import com.umeng.analytics.MobclickAgent;
/**
*
* @author cjj
*
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi")
public class MainActivity extends ActionBarActivity implements NavigationDrawerCallbacks {
private Toolbar mToolbar;
private NavigationDrawerFragment mNavigationDrawerFragment;
public static MainActivity instance;
private boolean titleFlag = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
instance = this;
mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
ActionBarHelper.setTitle(getSupportActionBar(), typeface(this, R.string.app_name,NicesApplication.nicesApplication.getHuayunTypeface(),Typeface.NORMAL));
// typeface(this);
mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.fragment_drawer);
mNavigationDrawerFragment.setup(R.id.fragment_drawer, (DrawerLayout) findViewById(R.id.drawer), mToolbar);
AdManager.getInstance(this).init("2b293550678dfc41", "d0412a6df86290bc", false);
ShareSDK.initSDK(this);
}
/*退出的间隔时间 */
private static final long EXIT_INTERVAL_TIME = 2000;
private long touchTime = 0;
/**
* On key up.
*
* @param keyCode
* the key code
* @param event
* the event
* @return true, if successful
*/
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
) {
long currentTime = System.currentTimeMillis();
if ((currentTime - touchTime) >= EXIT_INTERVAL_TIME) {
Toast.makeText(MainActivity.this, "在按一次退出程序", 1).show();
touchTime = currentTime;
} else {
show_existDialog();
}
return false;
} else {
return true;
}
}
private void show_existDialog() {
CustomDialog.Builder builder = new CustomDialog.Builder(this, "支持", "确定");
// Now we can any of the following methods.
builder.content("您的支持,我的感谢^_^");
builder.negativeText("取消");
// Now we can build the dialog.
CustomDialog customDialog = builder.build();
// // Show the dialog.
customDialog.setClickListener(new CustomDialog.ClickListener() {
@Override
public void onConfirmClick() {
DiyManager.showRecommendWall(MainActivity.this );
}
@Override
public void onCancelClick() {
MobclickAgent.onKillProcess( MainActivity.this );
finish();
System.exit(0);
}
});
customDialog.show();
}
public void showShare(String str) {
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字
oks.setNotification(R.drawable.app_icon, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
// oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
// oks.setTitleUrl("http://www.apkbus.com/home.php?mod=space&uid=192812");
// text是分享文本,所有平台都需要这个字段
oks.setText("[NiceS]"+str);
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
// oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
// url仅在微信(包括好友和朋友圈)中使用
// oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
// oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
// oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
// oks.setSiteUrl("http://sharesdk.cn");
// 启动分享GUI
oks.show(this);
}
// @Override
// public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.main, menu);
// return super.onCreateOptionsMenu(menu);
// }
@Override
public void onNavigationDrawerItemSelected(int position) {
selectFragment(position);
}
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
/**
* 选择fragment
*/
public void selectFragment(int postion)
{
Fragment fragment = null;
FragmentManager fragmentManager = getSupportFragmentManager();
switch (postion) {
case 0:
fragment = HomeFragment.newInstance();
if(titleFlag)
{
ActionBarHelper.setTitle(getSupportActionBar(), typeface(MainActivity.this, R.string.home,NicesApplication.nicesApplication.getHuayunTypeface(),Typeface.NORMAL));
}else
{
titleFlag = true;
}
break;
case 1:
fragment = FavoriteFragment.newInstance();
ActionBarHelper.setTitle(getSupportActionBar(), typeface(this, R.string.favorite,NicesApplication.nicesApplication.getHuayunTypeface(),Typeface.NORMAL));
break;
case 2:
fragment = MessageFragment.newInstance();
ActionBarHelper.setTitle(getSupportActionBar(), typeface(this, R.string.messages,NicesApplication.nicesApplication.getHuayunTypeface(),Typeface.NORMAL));
break;
case 3:
fragment = SupportFragment.newInstance();
ActionBarHelper.setTitle(getSupportActionBar(), typeface(this, R.string.support,NicesApplication.nicesApplication.getHuayunTypeface(),Typeface.NORMAL));
break;
default:
break;
}
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
}
}