package com.thankcreate.care.lab;
import org.achartengine.ChartFactory;
import org.achartengine.GraphicalView;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DialRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.DialRenderer.Type;
import com.thankcreate.care.App;
import com.thankcreate.care.R;
import com.thankcreate.care.R.layout;
import com.thankcreate.care.R.menu;
import com.thankcreate.care.tool.misc.MathTool;
import com.thankcreate.care.tool.misc.MiscTool;
import com.thankcreate.care.tool.misc.StringTool;
import com.thankcreate.care.tool.ui.ToastHelper;
import com.thankcreate.care.viewmodel.EntryType;
import com.umeng.analytics.MobclickAgent;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class LabPercentageActivity extends LabShareActivity {
private LinearLayout layout;
private GraphicalView mChartView;
private ImageView imageViewHerAvatar;
private TextView textHerName;
private ImageView imageViewMyAvatar;
private TextView textMyName;
private TextView textAward;
long param1;
String herName;
String myName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lab_percentage);
initActionBar();
initControl();
analysis();
MobclickAgent.onEvent(this, "LabPercentageActivity");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_lab_percentage, menu);
return false;
}
@Override
protected void initActionBar() {
super.initActionBar();
actionBar.setTitle("姻缘指数");
}
private void initControl() {
layout = (LinearLayout) findViewById(R.id.chart);
imageViewHerAvatar = (ImageView) findViewById(R.id.lab_her_avatar);
imageViewMyAvatar = (ImageView) findViewById(R.id.lab_my_avatar);
textHerName = (TextView) findViewById(R.id.lab_her_name);
textMyName = (TextView) findViewById(R.id.lab_my_name);
textAward = (TextView) findViewById(R.id.lab_award);
}
private void analysis() {
Boolean res = getData();
if(res)
refreshChart();
}
private boolean getData()
{
myName= MiscTool.getMyName();
herName = MiscTool.getHerName();
if(StringTool.isNullOrEmpty(myName))
{
ToastHelper.show("请先至少登陆一个帐户");
finish();
return false;
}
if(StringTool.isNullOrEmpty(herName))
{
ToastHelper.show("请先至少关注一个帐户");
finish();
return false;
}
textMyName.setText(myName);
textHerName.setText(herName);
App.getDrawableManager().fetchDrawableOnThread(MiscTool.getHerIconUrl(), imageViewHerAvatar);
App.getDrawableManager().fetchDrawableOnThread(MiscTool.getMyIconUrl(), imageViewMyAvatar);
long herSig = StringTool.getSig(herName);
long mySig = StringTool.getSig(myName);
param1 = (herSig + mySig) * 575 % 49 + 50;
textAward.setText(String.valueOf(param1));
return true;
}
private void refreshChart() {
CategorySeries category = new CategorySeries("Weight indic");
category.add("Current", param1);
DialRenderer renderer = new DialRenderer();
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setMargins(new int[] {20, 10, 15, 10});
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(Color.argb(0xff, 0xf9, 0x39, 0x46));
renderer.addSeriesRenderer(r);
renderer.setLabelsTextSize(20);
renderer.setLabelsColor(Color.argb(0xBB, 0xFF, 0x9D, 0x00));
renderer.setShowLabels(true);
renderer.setShowLegend(false);
renderer.setVisualTypes(new DialRenderer.Type[] {Type.NEEDLE});
renderer.setMinValue(0);
renderer.setMaxValue(100);
renderer.setPanEnabled(false);
mChartView = ChartFactory.getDialChartView(this, category, renderer);
mChartView
.setBackgroundResource(R.drawable.bitmap_bkg_tile_timeline);
layout.setBackgroundResource(R.drawable.bitmap_bkg_tile_timeline);
layout.addView(mChartView, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
}
@Override
protected String getShareTextSinaWeibo() {
herName = MiscTool.getHerName(EntryType.SinaWeibo);
myName = MiscTool.getMyName(EntryType.SinaWeibo);
String preContentString = String.format("经某不靠谱的分析仪测算,@%s 与 @%s 的姻缘指数达到惊人的%d。去死去死团众,不管你们信不信,我反正不信了",
herName, myName, param1);
return preContentString;
}
@Override
protected String getShareTextRenren() {
herName = MiscTool.getHerName(EntryType.Renren);
String herID = MiscTool.getHerID(EntryType.Renren);
myName = MiscTool.getMyName(EntryType.Renren);
String myID = MiscTool.getMyID(EntryType.Renren);
String preContentString = String.format("经某不靠谱的分析仪测算,@%s(%s) 与 @%s(%s) 的姻缘指数达到惊人的%d。去死去死团众,不管你们信不信,我反正不信了",
herName, herID, myName, myID, param1);
return preContentString;
}
@Override
protected String getShareTextDouban() {
herName = MiscTool.getHerName(EntryType.Douban);
myName = MiscTool.getMyName(EntryType.Douban);
String preContentString = String.format("经某不靠谱的分析仪测算,@%s 与 @%s 的姻缘指数达到惊人的%d。去死去死团众,不管你们信不信,我反正不信了",
herName, myName, param1);
return preContentString;
}
}