// Path: lib/src/main/java/org/xclcharts/common/SysinfoHelper.java
// public class SysinfoHelper {
// 	
// 	private static SysinfoHelper instance = null;
// 	
// 	public SysinfoHelper()
// 	{	
// 	}
// 	
// 	public static synchronized SysinfoHelper getInstance(){
// 		if(instance == null){
// 			instance = new SysinfoHelper();
// 		}
// 		return instance;
// 	}
// 	
// 	
// 	/**
// 	 * android自3.0引入了硬件加速，即使用GPU进行绘图.但低版本的Android不支持这个类，
// 	 * 为了兼容性，在低版本中将其硬件加速相关的代码设为不可用。
// 	 * @return 系统是否包含硬件加速类
// 	 */
// 	public boolean supportHardwareAccelerated()
// 	{
// 		boolean result = true;
// 		int currentVersion = android.os.Build.VERSION.SDK_INT;	
// 		//android 3.0 == android.os.Build.VERSION_CODES.HONEYCOMB
// 		if(currentVersion < 11) result = false;
// 		return result;
// 	}
// 
// }


import org.xclcharts.common.SysinfoHelper;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
				result = specSize;
			} else if (specMode == MeasureSpec.AT_MOST) { //wrap_content
				result = Math.min(result, specSize);
			}			
			return result;
		}

		private int measureHeight(int measureSpec) {
			int result = 100;
			int specMode = MeasureSpec.getMode(measureSpec);
			int specSize = MeasureSpec.getSize(measureSpec);

			if (specMode == MeasureSpec.EXACTLY) { //fill_parent
				result = specSize;
			} else if (specMode == MeasureSpec.AT_MOST) { //wrap_content
				result = Math.min(result, specSize);
			}			
			return result;
		}
		
		/**
		 * 禁用硬件加速.
		 * 原因:android自3.0引入了硬件加速，即使用GPU进行绘图,但它并不能完善的支持所有的绘图，
		 * 通常表现为内容(如Rect或Path)不可见，异常或渲染错误。所以类了保证图表的正常显示，强制禁用掉.
		 */		
		protected void disableHardwareAccelerated()
		{			
			//View.isHardwareAccelerated() 
			//Canvas.isHardwareAccelerated()
			
// Path: lib/src/main/java/org/xclcharts/common/SysinfoHelper.java
// public class SysinfoHelper {
// 	
// 	private static SysinfoHelper instance = null;
// 	
// 	public SysinfoHelper()
// 	{	
// 	}
// 	
// 	public static synchronized SysinfoHelper getInstance(){
// 		if(instance == null){
// 			instance = new SysinfoHelper();
// 		}
// 		return instance;
// 	}
// 	
// 	
// 	/**
// 	 * android自3.0引入了硬件加速，即使用GPU进行绘图.但低版本的Android不支持这个类，
// 	 * 为了兼容性，在低版本中将其硬件加速相关的代码设为不可用。
// 	 * @return 系统是否包含硬件加速类
// 	 */
// 	public boolean supportHardwareAccelerated()
// 	{
// 		boolean result = true;
// 		int currentVersion = android.os.Build.VERSION.SDK_INT;	
// 		//android 3.0 == android.os.Build.VERSION_CODES.HONEYCOMB
// 		if(currentVersion < 11) result = false;
// 		return result;
// 	}
// 
// }


// Path: lib/src/main/java/org/xclcharts/view/GraphicalView.java
import org.xclcharts.common.SysinfoHelper;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;

				result = specSize;
			} else if (specMode == MeasureSpec.AT_MOST) { //wrap_content
				result = Math.min(result, specSize);
			}			
			return result;
		}

		private int measureHeight(int measureSpec) {
			int result = 100;
			int specMode = MeasureSpec.getMode(measureSpec);
			int specSize = MeasureSpec.getSize(measureSpec);

			if (specMode == MeasureSpec.EXACTLY) { //fill_parent
				result = specSize;
			} else if (specMode == MeasureSpec.AT_MOST) { //wrap_content
				result = Math.min(result, specSize);
			}			
			return result;
		}
		
		/**
		 * 禁用硬件加速.
		 * 原因:android自3.0引入了硬件加速，即使用GPU进行绘图,但它并不能完善的支持所有的绘图，
		 * 通常表现为内容(如Rect或Path)不可见，异常或渲染错误。所以类了保证图表的正常显示，强制禁用掉.
		 */		
		protected void disableHardwareAccelerated()
		{			
			//View.isHardwareAccelerated() 
			//Canvas.isHardwareAccelerated()
			
			if(SysinfoHelper.getInstance().supportHardwareAccelerated())